JSONP и JQuery Ajax: Как установить переменную с помощью JSONP? - PullRequest
1 голос
/ 19 октября 2011

Кто-нибудь знает, почему мой ajax дает сбой?

Я получаю данные через JSONP отсюда: Данные JSON

Вы можете использовать этот код и заметить, что «Предупреждение» никогда не выполняется:

$(document).ready(function() {
    var url =  "http://www.finddata.org/buytimeseriesdata/getEncomChartSeriesData?_=1317741441988&tsId=F000008DDB";
    $.getJSON(url + "&callback=?", null, function(data) {
        alert('hi');
    });
});

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

Я получаю данные через JSONP отсюда

Нет, вы не получаете данных JSONP . Вы получаете данные JSON, которые не совпадают. Кажется, что указанный вами URL не поддерживает JSONP, поэтому ваш код не работает. Ответ должен быть заключен в указанный вами параметр обратного вызова, но сервер его игнорирует.

Например, если вы хотите, чтобы это работало, следующий URL должен вернуть:

foo({"datas":[...],"unit":"%","records":27})

вместо (что в настоящее время делает):

{"datas":[...],"unit":"%","records":27}

Я бы порекомендовал вам прочитать следующее руководство , если вы хотите выполнять запросы AJAX домена corss.

0 голосов
/ 19 октября 2011

Попробуйте

$.getJSON(url + "&callback=?", function(data) {
[...]

Необязательные параметры в документации jQuery не нужно обнулять, как в PHP.

...