У меня есть код, где мне нужно сделать запросы кросс-домена, чтобы получить текст/html в качестве ответа. Я использовал метод JSONP и ранее получал результаты (json) в другой программе. Когда я запустить программу, консоль выдает сообщение об ошибке, котороеОшибка обратного вызова Ajax (JSONP)
Uncaught SyntaxError: Unexpected token <
?callback=jQuery17207555819984991103_1414157672145&_=1414157675836"
Как вы можете видеть, что это добавило дополнительное значение параметра после параметра обратного вызова, который вызывает проблему. Когда я вижу ответ на вкладке Сеть, это довольно хорошо и точно, что я хотел. Я протестировал его на 4 кросс-доменных ссылках, и к ним добавлен дополнительный параметр. Ниже мой код:
$.ajax({
type: 'get',
url: link,
dataType: 'jsonp',
success: function(dataWeGotViaJsonp){
alert(dataWeGotViaJsonp)
var len = dataWeGotViaJsonp.length;
}
});
Ссылки Я перешедшие к нему:
http://stackoverflow.com/questions/20944962/data-grid-view-update-edit-and-delete-in-vb-net-windows-form-that-using-multipl
http://www.espncricinfo.com/pakistan-v-australia-2014/engine/match/727927.html
http://pucit.edu.pk/
Response это хорошо, но из-за этой ошибки, успех обратного вызова не вызывается. Любые решения?
Звучит как ответ недействителен JSONP. JSONP - это не что иное, как динамический элемент сценария. То есть ответ должен быть действительным JavaScript. HTML недействителен JS. То, что вы пытаетесь сделать, просто невозможно. –
вы не можете просто передать какие-либо URL-адреса, чтобы использовать 'jsonp', целевой ресурс должен поддерживать' jsonp', иначе это бесполезно. Ссылки, которые вы опубликовали выше, не поддерживают jsonp .... они возвратят содержимое html независимо от используемого 'dataType' ..., что приведет к указанной ошибке. –
JSONP - это, по сути, скрипт, введенный на вашу страницу, содержащую функцию вызовите вашу функцию обратного вызова, аргумент которой является объектом. Вы должны следовать этому формату, иначе он не будет JSONP. – Joseph