jquery新手问题:$(post)方法,采用json返回,但服务器端返回后客户端没反映,去掉json格式后有反映
前端调用后台servlet代码如下:
$.post("CarSelect",{keyword: carnameValue, type: "first"},
function(data){
alert(data);
},
"json");
后台java代码如下:
response.setContentType("application/json;charset=UTF-8");
PrintWriter out = response.getWriter();
//String data = "{[\"name\":\"2\"]}";
String data = "{[1:2]}";
System.out.println(data);
out.print(data);
out.close();
奇怪的是servlet代码执行完成后,alert(data)不执行
如果将json那个参数去掉后又可以执行alert(data)
$.post("CarSelect",{keyword: carnameValue, type: "first"},
function(data){
alert(data);
});
在有json参数的情况下,前端其实有响应的结果,可就是不执行,怎么回事呢
上图中其实有返回结果 {[1:2]}的呀,哪里错了?
请大虾们指点下
------解决方案--------------------本帖最后由 showbo 于 2013-06-23 13:36:48 编辑
jquery1.4+需要返回标准格式的字符串,你的就不是json格式的字符串。。楼主去了解下什么是json。
String data = "{\"1\":2}";
键名称为数字一定要用""括起,要不会语法错误