2013-11-09 133 views
0

我使用jQuery从url中获取jsonp。JQuery与Jsonp

这是我的代码:

$(document).ready(function() { 
    $.ajax({ 
     url: 'http://ws.walla.co.il/tem/?a=weather&callback=parseJson?callback=?', 
     type: "GET", 
     data: JSON, 
     dataType: "jsonp", 
     jsonpCallback: "localJsonpCallback" 
    }); 

    function localJsonpCallback(json) { 
     if (!json.Error) { 
      console.dir(json); 
     } else { 
      alert(json.Message); 
     } 
    } 
}); 

我得到以下JSON:

parseJson({"cities":[{"id":"402","name":"\u05ea\u05dc 
\u05d0\u05d1\u05d9\u05d1",\"url":"\/? 
..............}]}); 

我是新来的JSONP和我得到以下错误:

SCRIPT5009: 'parseJson'是不明确的

我需要创建回调名为parseJson和我如何做到这一点。

谢谢,莎哈。

回答

0

看起来目标资源始终期望回拨的名称为parseJson,并且您在url中也有2个callback。还要确保全局范围内的回调。

$(document).ready(function() { 
    $.ajax({ 
     url: 'http://ws.walla.co.il/tem/?a=weather', 
     type: "GET", 
     data: JSON, 
     dataType: "jsonp", 
     jsonpCallback: "localJsonpCallback" 
    }); 
}); 

function parseJson(json) { 
    if (!json.Error) { 
     console.dir(json); 
    } else { 
     alert(json.Message); 
    } 
} 

演示:Fiddle