xusulong 发表于 2013-1-29 12:21:00

jquery ajax post数据给servlet无法收到的原因

前台js
$(document).ready(function(){$("#test").click(function(){var url = "function?method=echo";var data = {keyword_query: "Tim Berners-Lee"};$.ajax({   url: url,   type: "POST",   data: data,//   dataType: 'json', contentType: "text/html",   success: function(referenceSet){   $("body").append("referenceSet: \n" + "<h3>" + (referenceSet) + "</h3>");   },   error: function(XMLHttpRequest, textStatus) {   $("body").append("textStatus: \n" + "<h3>" + textStatus + "</h3>");   }});});}); 后台java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubif(request.getParameter("method").equals("echo")) {    BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream()));            String line = null;            StringBuilder sb = new StringBuilder();            while((line = br.readLine())!=null){                sb.append(line);            }response.getWriter().print(sb);}} 红色字体部分
contentType: "text/html",我一开始没有加上,这样后台的servlet用
request.getParameter(arg0)可以得到数据,但是我想利用
request.getInputStream()获得前台的全部数据就不可以了,即post的所有
后来上网查看了下,虽然没有我的相同的问题,但是有java的,jsp的类似的问题,原来是要设置
contentType: "text/html",看来原理上还要多下功夫啊,调试了半天的代码,原来是因为这个。。。
页: [1]
查看完整版本: jquery ajax post数据给servlet无法收到的原因