Error : : jQuery was not called

2019-01-25 06:15发布

问题:

Here is my ajax call.

 $.ajax({
    type: "GET",
    url: "http://example.com/v1/search?keyword=r",
    dataType: "jsonp",
    crossDomain: true,
    success: function (responseString) {
        alert(responseString);
    },
    error: function (xhr, errorType, exception) {
        var errorMessage = exception || xhr.statusText;
        alert(errorMessage);
    }
});

Response from my example url

    {
    "response": [{
        "attributes": {
            "type": "enge",
            "url": "/services/data/v24.0/sobjects/Challenge__c/a0GZ0000005Vvh4MAC"
        },
        "name": "Really",
        "end_date": "2013-02-07T15:26:00.000+0000",
        "total": 350.0,
        "registered_members": 0.0,
        "id": "30",
        "type": "Design",
        "id": "a0GZ0000005Vvh4MAC",
        "start_date": "2012-11-19T16:52:00.000+0000",
        "description": "This is my really cool challenge",
        "remaining_days": 28.0,
        "categories__r": [{
            "attributes": {
                "type": "Category__c",
                "url": "/services/data/Category__c/a08Z0000000RNI2IAO"
            },
            "id": "0RNI2IAO",
            "display_name": "Andy"
        }, {
            "attributes": {
                "type": "Category__c",
                "url": "/services/Category__c/a08Z0000000RNI3IAO"
            },
            "id": "a0O",
            "display_name": "ADR"
        }]
    }

    }],
    "count": 1
}

i'm trying to make an cross domain call and getting error

jQuery180014405992737595236_1357861668479 was not called

Update

Well i tried to use dataType:"json" but at that point getting error

No Transport

回答1:

That suggests either a network error or an end point that doesn't return a JSONP response.

(I'm guessing the DNS lookup failure I get when testing it is because that isn't your real URL (please use example.com for example URLs, that is what it is there for) if not, then that is your problem).



回答2:

It's an incorrect JSONP Response. The server needs to process the callback=nameOfCallbackFunction argument of the GET Request and serve it as a function wrapper.

The proper response then should look like this:

nameOfCallbackFunction({"yourjson": "here"});


回答3:

I know this is an old thread but have struggled to get a cross domain ajax example working. I read much about using dataType: jsonp and support.cors = true but got a 200 - success but a parseerror.

I then read in this thread about using one or the other. I then changed the dataType: to json and left the support.cors = true and it worked. Finally . . .

This may help someone else who encounters the same issue.



回答4:

The reason why you have the error JQueryXXXX is because there is an error in the url you are calling, you need to introduce "?callback=?", so looks like:

"http://example.com/v1/search?callback=?keyword=r"

Also If you call a .php remember:

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