jQuery getJSON нулевой ответ для Firefox, работает для IE - PullRequest
2 голосов
/ 18 марта 2010
$.getJSON(service + "/GetJobTags", 
    { tag: "a" }, 
    function(json) {
        $.each(json, function(i,val) { 
            alert(val.Title); 
        }); 
     });

Звонит:

http://127.0.0.1:20087/ClientService.svc/GetJobTags?tag=a

Это, вероятно, примечательно, служба работает на другом порту клиентского приложения, которое включено:

http://127.0.0.1:32017/index.htm

Firefox говорит, что HTTP 200 в порядке, но данные ответа нулевые (и они выделяются красным в Firebug). В IE все работает нормально, а сервер возвращает json.

Это проблема с разрешениями? Нужно ли использовать JSONP?

1 Ответ

6 голосов
/ 18 марта 2010

Использование разных портов определенно противоречит политике одинакового происхождения в Firefox: источник Здесь

Может быть, document.domain помогает, я не уверен: я не могу найти ничего, подтверждающего, что это может помочь охватить также и порты.

Обновление: Ответ на этот вопрос SO предполагает, что JSONP или использование сценария на стороне прокси-сервера действительно являются единственными путями.

...