7

我的jQuery如下:

var x = $.ajax({
    dataType: "jsonp",
    url: "https://ajax.googleapis.com/ajax/services/search/images?q=google&v=1.0",
    success: function(msg){
       alert( "Jsonp data: " + msg );
    }
});

alert(x);  // x is undefined
// x.abort()​​

​</p>

你可以在这里试试这个代码:http: //jsbin.com/iyile3/2/edit

我想停止这个 ajax 请求并停止这个 ajax 请求的成功功能。

但是我得到的是 "x" 是 undefined ,我想我不会停止这个 ajax 请求及其成功功能。

那么任何人都可以帮助我吗?

非常感谢!

4

2 回答 2

9

嗯,这是有道理的。

jsonp调用不是普通的(XMLHttpRequest.ajax() 通常返回)。它不会那样工作,因为你不能打破same origin policy.

JSON-Padding 与动态脚本标签插入一起使用。所以基本上,jQuery 只是在您的网站上创建一个<script>标签并在其上加载数据。根本没有XHR对象。

我认为没有办法提前中止这种请求,但如果我错了,我希望有人能在这里纠正我。

于 2010-11-12T06:52:11.950 回答
4

我认为文档可能对此有点误导。使用 JSONP 时不发出 AJAX 请求。在这种情况下,ajax函数返回一个undefined值而不是 的对象XMLHTTPRequest

于 2010-11-12T06:55:24.883 回答