Вызов Jquery Ajax в веб-службу с поддержкой ajax WCF не работает в Firefox - PullRequest
1 голос
/ 05 августа 2011

Я создал веб-службу с поддержкой ajax WCF с именем «Service1.svc». «Мне нужно вызвать эту службу в другом приложении, использующем Jquery».В нем я создал метод:

    [OperationContract]             
    public string GetMarkup()
    {   
       string data = "<div>My HTML markup text here</div>";
       return data;
    }

Теперь я создал скрипт jquery на html-странице моего второго приложения:

var markup = "";
$.ajax({
    type: "POST",
    url: "http://localhost:1676/MyWCFService.svc/GetMarkup",
    contentType: "application/json",
    data: "{}",
    dataType: "json",
    success: callback,        
    error: function (textStatus) {
        alert("ERROR");
    }
});
function callback(result) {
    alert("Inside Callback");
    markup = result.d;
    $("#divMyMarkup").html(markup);
    alert(markup);
}

СЕЙЧАС, моя проблема в том, что всякий раз, когда я выполняю эту страницув IE все работает нормально.Но в Firefox его не работает.Это выдает сообщение об ошибке, которое определено в error: function (textStatus) {alert("ERROR");} в приведенном выше вызове ajax.

Я пробовал эту функцию, используя $ .get (), $ ("# divMyMarkup"). Load (serviceUrl, callback).Я также попробовал это, изменив тип данных на json, jsonp, html.Тем не менее, я не получаю точное решение.

Есть ли здесь какой-нибудь эксперт?

1 Ответ

3 голосов
/ 05 августа 2011

В другом приложении, использующем Jquery

По моему опыту, IE не будет уважать междоменную политику и позволит вам звонить, а не ссылаться ...

Единственный способ выяснить это - заставить вашу html-страницу / JQuery-скрипт вызывать службу WCF из http://localhost:1676/ICallWcfServicesWithJQuery.html в Firefox.

Возможные решения:

Протестируйте в нескольких браузерах, добавьте 1 унцию джина, банку тоника, и все будет хорошо!

...