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]