jsfiddle - 用jquery返回html时

时间:2013-05-29 17:47:16

标签: jquery jsfiddle jquery-deferred

在尝试使用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/

2 个答案:

答案 0 :(得分:0)

尝试使用像deferred.pipe()这样的异步方法。 stackoverflow线程10253192 jquery中显示了一些示例 - 了解Deferred.pipe()。

这是与您的问题有关的jquery文档http://api.jquery.com/jQuery.when/。仔细阅读并查看jQuery.ajax()文档,以获取ajax请求的成功和错误案例的完整描述。完全适应原型的时候和noz分离功能。确保console.log正在这个地方做某事并改变它,就像你的功能完成你希望它做的那样以及它应该做什么。登录文本文件可能更好。

答案 1 :(得分:0)

对这个问题的回答有点迟了。

问题不在于你的jQuery。这很好。唯一的问题是你使用jsFiddle的/echo/html API。比较你的代码:

data: {data: "test2"},

working code

data: {html: "test2"},

指定回复的属性为data.html,而不是data.data

This version of your code按预期工作。