简体   繁体   中英

JSONP via getJson not working?

I have getJson like this:

 $.getJSON(userUrl+'scanp?callback=?', { 'someparametar': 100 }, function(data){  
  console.log(data);
});

and I do get a response from my url, and it looks like this:

'"jQuery1110010384737118147314_1401820556204({'hasWon':'false','code':'120580e9fce67a4921f31af7ffa358cc10c83b10','defaultReward':'{\"secure_url\":\"https://res.cloudinary.com/deh0vdgzd/image/upload/v1401318096/k6jrm2pehwycmehrkicz.png\",\"url\":\"http://res.cloudinary.com/deh0vdgzd/image/upload/v1401318096/k6jrm2pehwycmehrkicz.png\",\"resource_type\":\"image\",\"format\":\"png\",\"height\":960,\"width\":640,\"signature\":\"a8ca9bb867e0a3d99e1666b7891e8f918d81e627\",\"version\":1401318096,\"public_id\":\"k6jrm2pehwycmehrkicz\"}''}"'

Any idea why I don't get any response when I console.log it?

With 'callback' in your querystring, JQuery wraps the response with a randomly generated method name. To get JSON (without method name), remove 'callback=?' from querystring.

If your server supports JSONP, you can make a call like this :

        $.ajax({
           type: 'GET',
            url: url,
            jsonpCallback: 'jsonCallback',
            contentType: "application/json",
            dataType: 'jsonp',
            success: function(json) {
                console.log(JSON.stringify(json));
            },
            error: function(e) {
               console.log(e.message);
            }
        });

Hope this helps.

Well I figured it out, the request I wrote was perfectly fine. The thing that was causing the the problem was response I was getting from server.

It was JSON stringified before return.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM