ajax请求永远不会进入延迟对象done()

时间:2014-07-27 16:19:47

标签: javascript jquery ajax jquery-deferred

我有以下要求:

var req1 = $.ajax({
                type:"GET",
                URL: "http://...",
                dataType : "xml"
            });

        req1.done(function (resp1) {
            alert(" 1: " + resp1);
            // This will execute after the first request is done
            var req2 = $.ajax({
                type:"GET",
                URL: "http://...",
                dataType: "jsonp"
            });

            $.when(req2).done(function (resp2) {
                alert(" 2: " + resp2);
                // when other three request are done
            });
        });

我遇到的问题是它既不会输入.done()也不会输入resp1,也不会输入和打印resp2。为什么呢?

我正在使用jquery 1.10.2

编辑: resp1返回页面本身的html。如果我做一个正常的ajax请求它会工作。但就像这样,它不是。为什么呢?

1 个答案:

答案 0 :(得分:0)

您希望设置Content-type标头,您的问题将得到解决。在PHP中,您将使用以下行:

header('Content-Type: application/json');