0

我使用 jQuery 从 url 获取 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 的回调以及我如何做到这一点。

谢谢,沙哈尔。

4

1 回答 1

0

看起来目标资源总是期待回调的名称,parseJson并且您callback在 url 中有 2。还要确保回调在全局范围内。

$(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);
    }
}

演示:小提琴

于 2013-11-09T15:54:52.383 回答