2013-11-09 3 views
0

Я использую jQuery, чтобы получить jsonp с URL-адреса.jQuery with 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' isdefined

Мне нужно создать обратный вызов с именем parseJson и как я это делаю.

спасибо, шахар.

ответ

0

Похоже, целевой ресурс всегда ждет имени callback как parseJson, а также у вас есть 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