返回了JS对象,但响应文本不起作用
JS object returned but responseText doesnt work
所以我发布了对一个只返回一个字符串的方法的调用,我的 post 请求在 responseText 字段中返回了一个带有字符串的对象,但d.responseText
返回"undefined"。有人知道为什么吗?我以为这是因为它是 AJAX,但为什么 var d 具有正确的值?
var d = $.post("/home/status_update", function(data) {return data});
console.log(d);
console.log(d.responseText);
$.post
返回一个承诺对象,请尝试使用它。
var d = $.post("/home/status_update");
d.done(function(data) {
console.log(data);
});
这是我在 AJAX 请求
中发现的最常见的错误之一:许多人没有意识到 AJAX 是 *A* 同步的,你不能指望你的 d
变量得到重视,因为无论 AJAX 请求是否完成,代码都会继续执行。
仅当请求-响应往返完成后,才能使用检索到的值。
你要做的是在function(data)
内实际使用返回的值,因为你保证只有在实际检索到值后才会执行它。
其他用户通过绑定 AJAX 请求/响应完成时触发的 done
事件来获取相同的内容。这是以略有不同的方式编码的相同事物。简写是:
var d = $.post("/home/status_update", function(data) {console.log(data);});
请记住,作为一般应用程序体系结构,对于 AJAX 请求,您不能期望使用单个函数,您将定义在每次 AJAX 完成时处理响应的函数。尝试以更"碎片化"的方式思考您的应用程序。
相关文章:
- 无法获取SOAP请求的响应文本
- Ajax 响应文本
- Jquery函数来验证响应文本
- Ajax响应文本始终为1
- XMLHttpRequest 的响应文本在 Mozilla 中为 null(空白)
- AJAX 响应文本为空
- 返回了JS对象,但响应文本不起作用
- 遍历响应文本
- AJAX 响应文本不匹配
- 原型 AJAX 响应文本缺少 javascript
- XHR 响应文本为空字符串
- 如何获取响应文本
- 将 AJAX 响应文本加载到 DIV 中
- 以优雅的方式将响应文本解析为键值对
- 使用 ajax 显示 php 响应文本
- 在 coffeescript 中迭代 json 响应文本
- AJAX 调用响应文本为空
- 如何从响应文本获取 JSON 字符串到 JavaScript 中
- 从单独的文件返回 AJAX 响应文本
- AJAX:响应文本在本地返回我的整个PHP代码