s.data = jQuery.param( s.data, s.traditional );
}
+ // If the jsonpCallback has been set, we can assume that dataType is jsonp
+ // Ticket #5803
+ if ( s.jsonpCallback ) {
+ s.dataType = "jsonp";
+ }
+
// Handle JSONP Parameter Callbacks
if ( s.dataType === "jsonp" ) {
if ( type === "GET" ) {
if ( handler === false ) {
handler = returnFalse;
+ } else if ( !handler ) {
+ // Fixes bug #7229. Fix recommended by jdalton
+ return;
}
var handleObjIn, handleObj;
plus();
}
});
+
+ // Supports Ticket #5803
+ jQuery.ajax({
+ url: "data/jsonp.php",
+ jsonpCallback: "jsonpResults",
+ success: function(data){
+ ok( data.data, "JSON results returned without dataType:jsonp when jsonpCallback is defined" );
+ plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, custom callback name)" );
+ plus();
+ }
+ });
+
});
test("JSONP - Custom JSONP Callback", function() {
module("event");
+test("null or undefined handler", function() {
+ expect(2);
+ // Supports Fixes bug #7229
+ try {
+
+ jQuery("#firstp").click(null);
+
+ ok(true, "Passing a null handler will not throw an exception");
+
+ } catch (e) {}
+
+ try {
+
+ jQuery("#firstp").click(undefined);
+
+ ok(true, "Passing an undefined handler will not throw an exception");
+
+ } catch (e) {}
+});
+
test("bind(), with data", function() {
expect(3);
var handler = function(event) {