Попытка сделать вызов и получить очень простую, одну строку, файл JSON.
$(document).ready(function() {
jQuery.ajax({
type: 'GET',
url: 'http://wncrunners.com/admin/colors.json' ,
dataType: 'jsonp',
success: function(data) {
alert('success');
}
});
});//end document.ready
Здесь запрос RAW:
GET http://wncrunners.com/admin/colors.json?callback=jQuery16406345664265099913_1319854793396&_=1319854793399 HTTP/1.1
Host: wncrunners.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2
Accept: */*
Referer: http://localhost:8888/jquery/Test.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Здесь ответ RAW:
HTTP/1.1 200 OK
Date: Sat, 29 Oct 2011 02:21:24 GMT
Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d SE/0.5.3
Last-Modified: Fri, 28 Oct 2011 17:48:47 GMT
ETag: "166a2402-10-4eaaeaff"
Accept-Ranges: bytes
Content-Length: 16
Content-Type: text/plain
Connection: close
{"red" : "#f00"}
JSON возвращается в ответ (красный: # f00), но отчеты Chrome Uncaught SyntaxError: Неожиданный токен: colors.json: 1
Если я перехожу непосредственно к URL-адресу, JSON возвращается и отображается в браузере.
Если я вставляю содержимое colors.json в JSLINT, json проверяет.
Любые идеи, почему я не могу получить эту ошибку, и я никогда не делаю это для успешного обратного вызова?
EDIT - вызов jQuery.ajax() выше отлично работает на jsfiddle.net и возвращает предупреждение "успех", как и ожидалось.
РЕДАКТИРОВАТЬ 2 - этот URL-адрес работает отлично 'http://api.wunderground.com/api/8ac447ee36aa2505/geolookup/conditions/q/IA/Cedar_Rapids.json' Я заметил, что он вернулся как ТИП: текст /javascript, а Chrome не выбрасывает Неожиданный токен. Я тестировал несколько других URL-адресов, а ТОЛЬКО один, который не выбрасывает Unexptected Token, - это wunderground, которая возвращается как TYPE: text/javascript.
Потоки, возвращаемые как text/plain и application/json, не обрабатываются правильно.