本帖最后由 cscxxx 于 2013-02-22 19:03:38 编辑

解决方案 »

  1.   

    我感觉这个写错了,多了个a吧。
    url : 'jasonServlet',jsonServlet
      

  2.   


    页面加载后立即出现问题!
    另外提交后在js的post那边的44行就有问题!
      

  3.   

    var jsonuserinfo = $.toJSON($('#form').serializeObject());jquery没有toJSON这个静态方法。serializeObject这个方法觉得没必要扩展了,jq已经有serialize方法将表单序列化为键值对字符串了。//var jsonuserinfo = $.toJSON($('#form').serializeObject());
     //   alert(jsonuserinfo);
        jQuery.ajax( {
         type : 'POST',
         contentType : 'application/json',
         url : 'http://localhost:8081/TPVFrames/CheckUserLogin',
         data :$('#form').serialize()// jsonuserinfo,///直接这样就好了。。
         dataType : 'json',
         success : function(data) {
          alert("新增成功!");
         },
         error : function(data) {
          alert("error");
         }
        });
      

  4.   


    改了,但有二个问题:
    1.后端接收不到任何数据,readJSONString(request)打印出来是空。
    2.url的设置找了网上说应该是原来的页面,实际上应该填什么?(原来的页面?还是填servlet的名称?)
    js的post部份修改后:$("#submit").click(function() {
      //  var jsonuserinfo = $.toJSON($('#form').serializeObject());
      // alert(jsonuserinfo);
        jQuery.ajax( {
         type : 'POST',
         contentType : 'application/json',
         url : 'http://localhost:8080/TPVFrames/for_jQuery_ajax_servlet.jsp',
         data :$('#form').serialize(),
         dataType : 'json',
         success : function(data) {
          alert("新增成功!");
         },
         error : function(data) {
          alert("error");
         }
        });
       }
      

  5.   


    后来为了解决问题,将问题各别实现后再将功能整成一块:
    1.先实现一个jquery能与servlet交互的功能(主要学习其中的设置)。
    2.再把json的功能补上。
      

  6.   

    非常感谢版主协助
    并参考网上的讲解完成一些修改如下:
    JSP<body>
    <form name="nameForm" id="nameForm" method="post" action="javascript:login()">
    email:<input id="email" type="text" name="email"/>
    <input id="submit" type="submit" value="提交"/>
    </form>
    </body>
    </html>
    <script type="text/javascript">
    function login(){    $("#loading").hide();  var email = document.nameForm.email.value;
      var formdata = $('#nameForm').serialize();
      alert(formdata);
      $.ajax({  
        type: "GET",  
        url: "ProcessFormServlet",  
        data: formdata,  
        success: function(result){  
          alert(result);
        }                
      });  
    }        
    </script>
    Servletprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html");
    String emailname = request.getParameter("email");
    System.out.println(emailname);
    PrintWriter out = response.getWriter();
    out.println(emailname);
    }可传email的value后由Servlet返回再由jQuery显示email