Added in support for $.ajax jsonpCallback (allowing you to specify the name of the callback method - and allowing you to avoid skipping the cache). Fixes #4206.

This commit is contained in:
John Resig 2009-12-06 17:17:14 -08:00
parent aea5b09195
commit fbc73d45b4
2 changed files with 34 additions and 4 deletions

View file

@ -518,10 +518,10 @@ test("jQuery.getScript(String, Function) - no callback", function() {
});
test("jQuery.ajax() - JSONP, Local", function() {
expect(7);
expect(8);
var count = 0;
function plus(){ if ( ++count == 7 ) start(); }
function plus(){ if ( ++count == 8 ) start(); }
stop();
@ -579,6 +579,20 @@ test("jQuery.ajax() - JSONP, Local", function() {
}
});
jQuery.ajax({
url: "data/jsonp.php",
dataType: "jsonp",
jsonpCallback: "jsonpResults",
success: function(data){
ok( data.data, "JSON results returned (GET, custom callback name)" );
plus();
},
error: function(data){
ok( false, "Ajax error JSON (GET, custom callback name)" );
plus();
}
});
jQuery.ajax({
type: "POST",
url: "data/jsonp.php",
@ -624,6 +638,22 @@ test("jQuery.ajax() - JSONP, Local", function() {
});
});
test("JSONP - Custom JSONP Callback", function() {
expect(1);
stop();
window.jsonpResults = function(data) {
ok( data.data, "JSON results returned (GET, custom callback function)" );
start();
};
jQuery.ajax({
url: "data/jsonp.php",
dataType: "jsonp",
jsonpCallback: "jsonpResults"
});
});
test("jQuery.ajax() - JSONP, Remote", function() {
expect(4);