如何使用JavaScript从web服务URL获取响应

How to get response from webservice URL using JavaScript

本文关键字:URL 获取 响应 服务 web 何使用 JavaScript      更新时间:2023-09-26

我是javascript新手。我有http web服务URL导致xml响应。如何从URL获得响应xml。我尝试使用以下使用XMLHttpRequest,但没有运气。

function send_with_ajax( the_url ){
    var httpRequest = new XMLHttpRequest();
    //httpRequest.onreadystatechange = function() { alertContents(httpRequest); };  
    httpRequest.open("GET", the_url, true);
    httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    httpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    httpRequest.setRequestHeader("X-Alt-Referer", "http://www.google.com");
    httpRequest.send();
    httpRequest.onreadystatechange = function() { 
        if (httpRequest.readyState == 4)
        {
            var _tempRecommendations = httpRequest.responseXML;
            window.alert(httpRequest.response)
            window.alert(httpRequest.responseText)
            window.alert(_tempRecommendations)
        }
    };  
};

我总是得到httpRequest.readyState = 1,而且当我在控制台评估响应时,它都是空的。

根据这个:Ajax无法通过readyState 1,为什么?,您应该尝试用onload事件替换onreadystatecchange事件:

httpRequest.onload= function() { 
        if (httpRequest.readyState == 4)
        {
            var _tempRecommendations = httpRequest.responseXML;
            window.alert(httpRequest.response)
            window.alert(httpRequest.responseText)
            window.alert(_tempRecommendations)
        }
    };  
如果

不能工作,试着简化你的代码,从一个非常基本的请求开始,如下所示:例如http://www.w3schools.com/xml/xml_parser.asp。然后开始添加请求头,以查看哪些指令会破坏您的程序。你也可以通过在浏览器中直接调用它来检查webservice,以确保问题来自你的端