JQuery XHR вопрос - PullRequest
       3

JQuery XHR вопрос

0 голосов
/ 20 июля 2011

Я пытаюсь написать простой скрипт jquery, который анализирует JSON и форматирует его. Ничего особенного, но я продолжаю получать следующую ошибку в Chrome: Ресурс интерпретируется как Скрипт, но переносится с MIME-типом text / html.

Я посмотрел на SO, и это выглядит как довольно распространенный вопрос. Я следовал каждому совету, который смог найти, и все еще не повезло. Вот мой код:

var url = "http://somesite.com/something/json/json_index.php?q=";
var query = "someQuery";

$.ajax({
  url: url + query + "&callback=",
  crossDomain:true, 
  dataType: 'jsonp',
  success: function(data){
    alert('all done!');
  },
  error: function(data){
    alert('fail.');
  }
});

У кого-нибудь есть идеи / предложения?

1 Ответ

3 голосов
/ 20 июля 2011

JSON-P работает путем создания тега <script> в вашем HTML-документе, и ожидается, что удаленный сервер вернет yourCallback({the: data}).Сообщение об ошибке звучит для меня так, будто сервер возвращает документ HTML вместо этого, что может быть ошибкой 404 или чем-то в том же духе, или может быть просто результатом неверно настроенного сервера (хотя это звучит маловероятно, если это API, который былпротестировано на JSON-P).

Инструменты разработчика Google Chrome также имеют вкладку Сеть, поэтому я рекомендую проверить, какой запрос отправляется и какой ответ вы получаете.Это похоже на то, что мы разбираем, что пользователи StackOverflow не могут точно отлаживать, не зная больше о том, какой именно API вы используете, но, надеюсь, вы сможете отладить его с помощью инструментов, которые у вас есть:)

Я такжеобратите внимание, что вы отправляете URL-адрес, заканчивающийся callback=, но в документации jQuery говорится, что вы должны использовать callback=? с вопросительным знаком, чтобы jQuery мог заполнить имя обратного вызова.Возможно, добавление ? - это все, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...