jsfiddle – 用jquery返回html时
在尝试使用jquery deferreds回显jsfiddle上的一些html时,我没有得到任何数据。
function showData(data1, data2) { console.log(data1[0]); console.log(data2); } function method1() { return $.ajax({ type: "post", url: "/echo/html/", data: JSON.stringify("test1"), dataType: 'html' }); } function method2() { return $.ajax({ type: "post", url: "/echo/html/", data: {data: "test2"}, dataType: 'html' }); } $.when(method1(), method2()).then(showData);
我无法理解我在这里做错了什么。 将数据作为对象或JSON.stringify
,似乎都不起作用。 http://jsfiddle.net/VAy5g/
尝试使用像deferred.pipe()这样的异步方法。 stackoverflow线程10253192 jquery中显示了一些示例 – 了解Deferred.pipe()。
这是与您的问题相关的jquery文档, http://api.jquery.com/jQuery.when/ 。 仔细阅读并查看jQuery.ajax()文档,以获取ajax请求的成功和错误案例的完整描述。 完全适应原型的时候和noz分离function。 确保console.log正在这个地方做一些事情,并以你的function完成你希望它做什么以及应该在哪里做它来改变它。 登录文本文件可能更好。
对这个问题的回答有点迟了。
问题不在于你的jQuery。 这很好。 唯一的问题是你使用jsFiddle的/echo/html
API。 比较你的代码:
data: {data: "test2"},
工作代码 :
data: {html: "test2"},
指定响应的属性是data.html
,而不是data.data
。
此版本的代码按预期工作。