Javascript 当我从XMLHttpRequest“Post”操作中得到一个响应时,如何处理*response*?

Javascript 当我从XMLHttpRequest“Post”操作中得到一个响应时,如何处理*response*?,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,我在这方面遇到了很大的困难——我似乎在兜圈子。 我试图做的是将数据从客户机上的javascript发布到web服务 在以下示例中,valFname、valLname、valPhone和valZip都具有有效的字符串值: function checkOffers(){ // data collection from loaded form... var postData = "'FirstName':'" + valFname ; postData +="

我在这方面遇到了很大的困难——我似乎在兜圈子。 我试图做的是将数据从客户机上的javascript发布到web服务

在以下示例中,valFname、valLname、valPhone和valZip都具有有效的字符串值:

function checkOffers(){
   // data collection from loaded form...


        var postData = "'FirstName':'" + valFname ;
        postData +="','LastName':'" + valLname ;
        postData +="','PhoneNumber':'" + valPhone ;
        postData += "','Zipcode':'" + valZip+"'";

        initialize(postData);
}



function initialize(postData) {
    //var postMsg = createSoapHeader(msg);
    var url = "https://server.company.com:9999/analytics/webservices/webservice.asmx/SamplePriorityOfferList";
    request.open("POST", url, false)
    request.onreadystatechange = function(){
        if(this.readyState===4){
            //request is complete.  handle it
            processData;
        }
    };
    request.send(postData);
}

function processData(){
     response = request.responseXML.xml;
     alert("Returned Data:" + response);
}
我在PageLoad事件中调用checkOffers函数-我希望web服务在不必单击按钮、链接等的情况下启动

我正在从我的请求中获取空值,但应该正在获取数据。 非常感谢您的任何意见、提示或建议。

这一行:

        if(this.readyState===4){ 
应该是:

        if(this.readyState==4){
这至少可以让您看到警报。

这一行:

        if(this.readyState===4){ 
应该是:

        if(this.readyState==4){

这至少可以让您看到警报。

如果不看到服务器端代码,就不可能说,但是我推测您打算在没有.xmlTry processData的情况下使用response.responseXML;而不仅仅是处理数据;它有助于调用您的函数!我们还需要知道您看到了什么实际症状,以及调试Javascript时看到了什么,至少是控制台输出https://server.company.com:9999?Do 你确定你真的要找回XML吗?尝试输入alertReturned文本:+request.responseText@pete,不-这只是Web服务运行位置的通用值。。。但是,变量“url”应该是这样的吗,或者脚本在哪里运行?脚本正在云中某个服务器上运行。不知道它在哪里,也不知道实际的服务器名称是什么-我所拥有的只是一个代理地址。如果没有看到您的服务器端代码,就不可能说,但是我推测您打算在没有.xmlTry processData的情况下使用response.responseXML;而不仅仅是处理数据;它有助于调用您的函数!我们还需要知道您看到了什么实际症状,以及调试Javascript时看到了什么,至少是控制台输出https://server.company.com:9999?Do 你确定你真的要找回XML吗?尝试输入alertReturned文本:+request.responseText@pete,不-这只是Web服务运行位置的通用值。。。但是,变量“url”应该是这样的吗,或者脚本在哪里运行?脚本正在云中某个服务器上运行。不知道它在哪里,也不知道实际的服务器名是什么-我只有一个代理地址为什么,readyState实际上不是一个数字?我在问;我一直认为这是一个正常的数字,比如4。另外,问题是他们看到的是空值,而不是什么都没有看到。呃,是的。我把我的语言/运算符弄混了这个答案完全错了。哈哈。谢谢你们的反应,伙计们。我确实看到了一个空。只是为了搞笑,我添加了一些javascript,在响应的开头和结尾查找特定字符串:var startTag=;var-endTag=;var valueStart=0;var valueEnd=0;valueStart=xmlHttp.responseXML.xml.indexOfstartTag,valueEnd+startTag.length;valueEnd=xmlHttp.responseXML.xml.indexOfendTag,valueEnd+1;然后设置警报,在readyState==4时向我显示'valueStart'和'valueEnd'的值,因为据我所知,这就是一切完成的时候。警报告诉我值是35,因为我分别手动设置了字符串amd-1。。。所以结尾标签不在那里。我知道它必须是因为它的XML,所以我假设整个事情都是空的?为什么,readyState实际上不是一个数字?我在问;我一直认为这是一个正常的数字,比如4。另外,问题是他们看到的是空值,而不是什么都没有看到。呃,是的。我把我的语言/运算符弄混了这个答案完全错了。哈哈。谢谢你们的反应,伙计们。我确实看到了一个空。只是为了搞笑,我添加了一些javascript,在响应的开头和结尾查找特定字符串:var startTag=;var-endTag=;var valueStart=0;var valueEnd=0;valueStart=xmlHttp.responseXML.xml.indexOfstartTag,valueEnd+startTag.length;valueEnd=xmlHttp.responseXML.xml.indexOfendTag,valueEnd+1;然后设置警报,在readyState==4时向我显示'valueStart'和'valueEnd'的值,因为据我所知,这就是一切完成的时候。警报告诉我值是35,因为我分别手动设置了字符串amd-1。。。所以结尾标签不在那里。我知道它必须是因为它的XML,所以我假设整个事情都是空的?