سعاد نشر 8 فبراير 2016 أرسل تقرير مشاركة نشر 8 فبراير 2016 أحاول استعمال تقنية Json للحصول على response انطلاقا من Servlet و صفحة JSP. صفحة JSP: <script> $(document).ready(function(){ $("#submitBut").click(function(){ var formData=getFormData(); var strUrl="rwcntrlr.do?action=loginForm"; $.post(strUrl, {jsonData: JSON.stringify(formData)},function(response){ response = jQuery.parseJSON( response); if(response.message=='not ok') { alert("not ok"); } else{ alert('OK'); } }); }); }); </script> كود Servlet: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String formName=request.getParameter("action"); if(formName.equalsIgnoreCase("loginForm")){ String strJSONData = request.getParameter("jsonData"); System.out.println(strJSONData);// data received correctly... JSONObject jsonResponse = new JSONObject(); try{ JSONObject requestedJSONObject = new JSONObject(strJSONData); String login_name = requestedJSONObject.getString("login_name"); String password = requestedJSONObject.getString("password"); if(login_name.equalsIgnoreCase("mark")){ response.setContentType("application/json"); jsonResponse.put("status", "OK"); response.getWriter().write(jsonResponse.toString()); } else{ response.setContentType("application/json"); jsonResponse.put("status", "NOT OK"); response.getWriter().write(jsonResponse.toString()); } } catch(Exception ex){ ex.printStackTrace(); } } } النتيجة هي أني أستطيع الحصول على Form المُرسلة، لكن لا أستطيع إظهار البيانات، ولا أدري كيف أحل هذا المشكل؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 E.Nourddine نشر 9 فبراير 2016 أرسل تقرير مشاركة نشر 9 فبراير 2016 (معدل) لإظهار نتيجة البيانات المُرسلة من قبل Json على صفحة Jsp، عليك بكتابة الكود التالي: response.setContentType("application/json"); response.setHeader("cache-control", "no-cache"); PrintWriter out = response.getWriter(); out.println(jsonResponse.toString()); out.flush(); ملاحظة مهمة: في غالب الأحيان يقوم المتصفح بالاحتفاظ بالبيانات السابقة عبر مايسمى بـ cache لذا من الجيد إفراغ هذا الأخير عند كل تغيير في كود Json المُرسل. وللتأكد من وصول البيانات المُرسلة، يمكنك استعمال هذا الكود من أجل ذلك: $.post(strUrl, {jsonData: JSON.stringify(formData)}, function(response){ if(response.status=='NOT OK') { alert("not ok"); } else { alert('OK'); } }, 'json'); تم التعديل في 9 فبراير 2016 بواسطة E.Nourddine اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
سعاد
أحاول استعمال تقنية Json للحصول على response انطلاقا من Servlet و صفحة JSP.
صفحة JSP:
كود Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String formName=request.getParameter("action"); if(formName.equalsIgnoreCase("loginForm")){ String strJSONData = request.getParameter("jsonData"); System.out.println(strJSONData);// data received correctly... JSONObject jsonResponse = new JSONObject(); try{ JSONObject requestedJSONObject = new JSONObject(strJSONData); String login_name = requestedJSONObject.getString("login_name"); String password = requestedJSONObject.getString("password"); if(login_name.equalsIgnoreCase("mark")){ response.setContentType("application/json"); jsonResponse.put("status", "OK"); response.getWriter().write(jsonResponse.toString()); } else{ response.setContentType("application/json"); jsonResponse.put("status", "NOT OK"); response.getWriter().write(jsonResponse.toString()); } } catch(Exception ex){ ex.printStackTrace(); } } }
النتيجة هي أني أستطيع الحصول على Form المُرسلة، لكن لا أستطيع إظهار البيانات، ولا أدري كيف أحل هذا المشكل؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.