扫码关注官方订阅号
ajax请求代码如下:php处理部分:
火狐firebug :
打印不出来怎么回事???
业精于勤,荒于嬉;行成于思,毁于随。
我比较喜欢直接用 $.post(settings)(其实更喜欢直接 $.ajax(url, settings)),这样参数比较清楚。回调通过 $.post() 或者 $.ajax() 返回的 promise 的 done() 来设置,这样结构比较清楚
$.post(settings)
$.ajax(url, settings)
$.post()
$.ajax()
done()
$.post({ url: theurl, dataType: "json", data: { tablename: _tbname } }).done(function(jo) { // jo 是 javascript object // 从后端返回的 JSON 解析而来 console.log(jo); });
用你的那种方式,也可以直接在 callback 后面加个参数 "json" 来表示数据类型
$.post("http://url/", { tablename: _tbname}, function(data) {}, "json");
json_encode($data,JSON_UNESCAPED_UNICODE)
竟然也没报错, 你重启firefox看看吧PS: 设置响应头 @header("Content-Type:application/json;charset=utf8");就可以省略 var json = eval(data); 这步了而且, 用eval不安全, 建议用
var json = jQuery.parseJSON(data);
换chrome(我是真心不习惯火狐的调试,你习惯那就算了),打断点调试,多半是没有进入方法。好久没用过火狐了,依稀记得以前好像也有过类似的问题,这个在chrome下应该是会报错的,在火狐下不报错。你先打断点看看吧,如果没进入方法就换chrome试试。
默认返回的data是字符串,而不是一个json对象,解决方式一,请求参数中指定返回类型为json,jquery内部会解析成对象;解决方式二,自己讲json字符串反序列化成对象。例如:http://blog.163.com/m13864039...
有的时候,不指定返回类型,返回的数据不一定是json对象,所以题主可以用JSON.parse()转换一下data,然后再进行操作就行。
json
JSON.parse()
data
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我比较喜欢直接用
$.post(settings)(其实更喜欢直接$.ajax(url, settings)),这样参数比较清楚。回调通过$.post()或者$.ajax()返回的 promise 的done()来设置,这样结构比较清楚用你的那种方式,也可以直接在 callback 后面加个参数 "json" 来表示数据类型
json_encode($data,JSON_UNESCAPED_UNICODE)
竟然也没报错, 你重启firefox看看吧
PS: 设置响应头 @header("Content-Type:application/json;charset=utf8");
就可以省略 var json = eval(data); 这步了
而且, 用eval不安全, 建议用
换chrome(我是真心不习惯火狐的调试,你习惯那就算了),打断点调试,多半是没有进入方法。好久没用过火狐了,依稀记得以前好像也有过类似的问题,这个在chrome下应该是会报错的,在火狐下不报错。你先打断点看看吧,如果没进入方法就换chrome试试。
默认返回的data是字符串,而不是一个json对象,解决方式一,请求参数中指定返回类型为json,jquery内部会解析成对象;解决方式二,自己讲json字符串反序列化成对象。例如:http://blog.163.com/m13864039...
有的时候,不指定返回类型,返回的数据不一定是
json对象,所以题主可以用JSON.parse()转换一下data,然后再进行操作就行。