Как получить данные веб-службы в Mozilla Firefox? - PullRequest
0 голосов
/ 06 марта 2012

Я делаю проект на HTML, только на JavaScript.У меня есть функция, которая получает данные из веб-службы (.asmx), и она работает нормально.Но в Firefox Chrome не работает.Вот код, пожалуйста, подтвердите:

function CreateXMLHttpRequest()
{
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}   

function CallWebService() {


    var objXMLHttpRequest = CreateXMLHttpRequest();
    objXMLHttpRequest.open ("POST", 
                            "http://www.xxxxxxxxx.com/WebServicesp/WebMethods.asmx", 
                            false);
    objXMLHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    var packet='<?xml version="1.0" encoding="utf-8"?> 
                <soap:Envelope  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body></soap:Body></soap:Envelope>';

    objXMLHttpRequest.send(packet);
    var res=objXMLHttpRequest.responseText;

    alert(res);   
}

Ответы [ 4 ]

1 голос
/ 19 июля 2012

попробуйте этот код:

function CallService() {

jQuery.support.cors = true;
    $.ajax({
        type: "POST",
        url: "url/Service1.asmx/servicename",
        dataType: "json",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        success: OnSuccess,
        error: OnError
    });


}
function OnSuccess(data, status) {
alert("success");

    alert(data.d);


}

function OnError(request, status, error) {


    alert(status);
}

$(document).ready(function () {
    CallService();
});
0 голосов
/ 06 марта 2012

HTML-страница обслуживается из того же домена, что и URL-адрес конечной точки веб-службы?Если нет, то это проблема междоменного нарушения, как указано здесь другими.Проверьте наличие ошибок JavaScript.

0 голосов
/ 06 марта 2012

Я бы попробовал установить плагин под названием данные тампера https://addons.mozilla.org/en-US/firefox/addon/tamper-data/?src=search

или программное обеспечение под названием Fiddler http://fiddler2.com/fiddler2/

Они покажут вам реальные запросы и ответы, так что вы сможете найти проблему в реальных запросах, если они есть.

0 голосов
/ 06 марта 2012

вы можете получить ошибку js о междоменном запросе ajax , в этом случае он будет нормально работать в Internet Explorer, но не в других браузерах, потому что IE не применяет междоменную политику безопасности.
это поможет вам понять междоменную область, междоменную ошибку
, если в этом случае вам потребуется tr JSONP или curl для получения данных.
надеюсь, что это поможет
вы можете опубликоватьсообщение об ошибке из консоли Firebug?

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