• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – ajax返回值问题

php 搞代码 3年前 (2022-01-23) 20次浏览 已收录 0个评论
文章目录[隐藏]

<body>

ajax请求代码如下:

php处理部分:

火狐firebug :

打印不出来怎么回事???

回复内容:

<body>

ajax请求代码如下:

php处理部分:

火狐firebug :

打印不出来怎么回事???

我比较喜欢直接用 $.post(settings)(其实更喜欢直接 $.ajax(url, settings)),这样参数比较清楚。回调通过 $.post() 或者 $.ajax() 返回的 promise 的 done() 来设置,这样结构比较清楚

<code class="javascript">$.post({    url: theurl,    dataType: "json",    data: {        tablename: _tbname    }}).done(function(jo) {    // jo 是 javascript object    // 从后端返回的 JSON 解析而来    console.log(jo);});</code>

用你的那种方式,也可以直接在 callback 后面加个参数 “json” 来表示数据类型

<code>$.post("http://url/", { tablename: _tbname}, function(data) {}, "json");</code>

json_encode($data,JSON_UNESCAPED_UNICODE)

竟然也没报错, 你重启firefox看看吧
PS: 设置响应头 @header(“Content-Type:application/json;charset=utf8”);
就可以省略 var json = eval(data); 这步了
而且, 用eval不安全, 建议用

<code>var json = jQuery.parseJSON(data);</code>

换chrome(我是真心不习惯火狐的调试,你习惯那就算了),打断点调试¥本文来%源[email protected]搞@^&代*@码)网5搞gaodaima代码,多半是没有进入方法。好久没用过火狐了,依稀记得以前好像也有过类似的问题,这个在chrome下应该是会报错的,在火狐下不报错。你先打断点看看吧,如果没进入方法就换chrome试试。

默认返回的data是字符串,而不是一个json对象,解决方式一,请求参数中指定返回类型为json,jquery内部会解析成对象;解决方式二,自己讲json字符串反序列化成对象。例如:http://blog.163.com/m13864039…


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – ajax返回值问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址