2011-02-08 3 views
0

мой JSON Ссылка:Invalid ошибка Ярлык в JSONP

http://app.websitename.in/getToken

выше URL вернуть меня следующий JSON:

{ token: "2cd3e37b-5d61-4070-96d5-3dfce0d0acd9%a00a5e34-b017-4899-8171-299781c48c72" } 

Edit: Изменено его

{ "token": "2cd3e37b-5d61-4070-96d5-3dfce0d0acd9%a00a5e34-b017-4899-8171-299781c48c72" } 

Я (все еще) недействительных ошибка Метки при вызове следующего кода

моего код:

$.getJSON("http://app.websitename.in/getToken?callback=?", 
function(data) { 
alert("success"); 
    alert("Symbol: " + data.token); 
}); 

Пожалуйста, помогите мне

Благодаря

ответ

1

мой JSON Ссылка: http://app.websitename.in/getToken

Нет, это не так (или, если он есть, то его сломана).

локон: (6) Не удалось разрешить хост «» app.websitename.in

Если мы предположим, что вы имеете в виду «example.com», когда вы говорите «websitename.in» (использовать примеры для доменов примеры, то есть то, что они там есть):

Если он возвращает эти данные в этой форме, то он не может обернуть его в обратном вызове, поэтому это JSON, а не JSON-P. Вам нужно JSON-P для работы через домены.

7

имен свойств обязательно быть в двойных кавычках действительными JSON, например:

{ token: "2cd3e37b-5d61-4070-96d5-3dfce0d0acd9%a00a5e34-b017-4899-8171-299781c48c72" } 

должен быть

{ "token": "2cd3e37b-5d61-4070-96d5-3dfce0d0acd9%a00a5e34-b017-4899-8171-299781c48c72" } 

(Обратите внимание, что "маркер" теперь в двойных кавычках.)

Подробная информация о JSON site. JSONlint также полезен.

Некоторые парсеры JSON являются слабыми и позволяют вам уйти, не добавляя двойные кавычки вокруг имен свойств (особенно те, которые на самом деле скрыты в JavaScript-парсерах), но технически это требуется.

+0

Не делает междоменные JSON-P обрабатывать данные как фрагмент JavaScript (где это действительно), а не как JSON? – Quentin

+0

@ Давид: Вы вполне можете быть правы. И, конечно, если URL-адрес возвращает исходные данные, а не действительный ответ JSON-P, ваш правильный ответ. –

+0

Даже если я прав, ничего в твоем ответе не так :) – Quentin