jsonp inconsistent error: object is not a function
ajax, jquery, jsonp
Solution
your question is not so clear , I was getting the same error when tried to use the same callback function name twice. in Any case this is how the jsonp should be called in jquery :
var mycallback = 'c'+Math.floor((Math.random()*100000000)+1);
$.ajax({
type: 'GET',
url: URL,
async: true,
jsonpCallback: mycallback,
contentType: "application/json",
dataType: 'jsonp'
}).done(function(json){
console.log(json);
callback(json);
}).fail(function(f){
console.log("f");
console.log(f.status);
}).always(function(){
// console.log('complete');
});
Problem
I'm trying to use jsonp with jQuery but I get inconsistent behaviors. Sometimes the script works, sometimes it does not; I don't really understand why. This is the error that may be displayed by Chrome: ``` Uncaught TypeError: Property 'jQuery18208278296771459281_1362854738133' of object [object Object] is not a function ``` In the following example, I'm only trying to check whether the application is online or not. But this inconsistent behavior may happen on other similar ajax calls: ``` $.ajaxSetup({ error: function (req, status, ex) {}, success: function (data, status, req) {}, timeout: 2000, crossDomain: true, contentType: "application/json", dataType:"jsonp", url: "http://myUrl.com/ping.php?preventCache="+new Date() }); return $.ajax(); ``` The server side PHP file is pretty simple too: ``` <?php header("Content-Type: application/javascript; charset=UTF-8"); echo $_GET['callback']; ?> ({ "status": "online" }) ```