Я пытаюсь получить базовый JSONP запрос собирается:Синтаксическая ошибка обратного вызова = jQuery1113
<html>
<head>
<script type="text/javascript" src="js/jquery1.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url: 'http://www.bing.com/',
dataType: 'jsonp',
success: function(dataWeGotViaJsonp){
var text = '';
var len = dataWeGotViaJsonp.length;
$('#text').html(len);
}
});
})
</script>
</head>
<body>
<div id = 'text'></div>
</body>
</html>
Я использую IE8 и Jquery v1.11.3
Syntax error ?callback=jQuery111309915726215071462_1436849961686&_=1436849961687, line 1 character 1
Что такое обратный вызов? Откуда он?
Если изменить URL на 'https://www.bing.com/search?q=hello+world'
я получаю:
Syntax error search?q=hello+world&callback=jQuery11130544191867791898_1436850255384&_=1436850255385, line 1 character 1
Ваш браузер пытался выполнить сценарий получил от Bing, но Bing не послал сценарий, но веб-страницы. Это как заказать что-то горячее, а затем попытаться съесть его, запоздало осознавая, что вы не в ресторане, а в магазине оборудования, когда вы таете свое лицо с помощью паяльной лампы. Вы не можете получить JSONP от Bing только за счет желаемого за действительное - прочитайте о [Bing Search API] (https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44). – Amadan
@Amadan Хорошо, ваш комментарий какой-то смешной, но и немного недружелюбный. – dwjohnston
Извините. Пошел смешно. Однако неплохая аналогия - вы пытаетесь использовать ответ, который не удобоваримый парсером JS. Всегда проверяйте содержимое URL с помощью, например. 'curl' или веб-браузер - если он не получает JSONP таким образом, ни ваш код (если только они не делают скрытые вещи, чтобы предотвратить его). Что касается '? Callback = jQuery ......', он привязан к вашему URL-адресу jQuery в качестве условного обозначения; серверы, которые обслуживают JSONP, обычно используют его для создания вашего ответа. Поэтому консоль просто сообщает вам URL. – Amadan