Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript XMLHttpRequest错误脚本10_Javascript_Xml_Xmlhttprequest - Fatal编程技术网

Javascript XMLHttpRequest错误脚本10

Javascript XMLHttpRequest错误脚本10,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,嗨,我需要连接到外部服务器才能检索数据。 他们告诉我使用他们的脚本,我必须修改一些东西,因为它是错误的。现在,当我试图满足我的要求时,我遇到了一个问题。 将错误返回到internet explorer控制台 SCRIPT10:完成此操作所需的数据为 还没有 这是我的javascript页面,我认为问题在于查询没有及时完成以打印结果。当结果准备就绪且不返回错误时,如何打印结果? 我尝试对我的所有请求进行注释,只保留方法“open”,但每次都会返回错误。为什么 <!DOCTYPE HTML P

嗨,我需要连接到外部服务器才能检索数据。 他们告诉我使用他们的脚本,我必须修改一些东西,因为它是错误的。现在,当我试图满足我的要求时,我遇到了一个问题。 将错误返回到internet explorer控制台

SCRIPT10:完成此操作所需的数据为 还没有

这是我的javascript页面,我认为问题在于查询没有及时完成以打印结果。当结果准备就绪且不返回错误时,如何打印结果? 我尝试对我的所有请求进行注释,只保留方法“open”,但每次都会返回错误。为什么

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
var req = null ;
function sendRequest(){
    var urlStr="www.test.it";
    var xmlString="";
    xmlString+="<?xml version='1.0' encoding='UTF-8'?><some xml>";

    createHTTPRequestObject();
    var resp = getResponseText(urlStr+"?"+xmlString,null);

    var xmlDoc;
    xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
    xmlDoc.async = false;

    xmlDoc.loadXML(resp);
    alert(xmlDoc.xml);
}

function createHTTPRequestObject(){
    req=null ;
    var pXmlreq = false ;
    if (window.XMLHttpRequest) {
        pXmlreq = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) {
        try{
            pXmlreq = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e1) {
            try{
                pXmlreq = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e2) {
            }
        }
    }
    req = pXmlreq ;
}

function getResponseText(action,query,method,async,contenttype){
    if(method==null){
        method="POST";
    }
    if(async==null){
        async="true";
    }
    if(contenttype==null){
        contenttype = "application/x-www-form-urlencoded";
    }
    req.open(method,action, async);
    req.setRequestHeader("Content-Type", contenttype);
    if(query){
        req.send(query);
    }else{
        req.send();
    }
    return req.responseText ;
}
</script>
</head>
<body>
<input type="button" name="Request" value="Request" onclick="sendRequest();"/>
<div id="content" />
</body>
</html>

var-req=null;
函数sendRequest(){
var urlStr=“www.test.it”;
var xmlString=“”;
xmlString+=“”;
createHTTPRequestObject();
var resp=getResponseText(urlStr+“?”+xmlString,null);
var-xmlDoc;
xmlDoc=newActiveXObject('Microsoft.XMLDOM');
xmlDoc.async=false;
加载xml(resp);
警报(xmlDoc.xml);
}
函数createHTTPRequestObject(){
req=null;
var pXmlreq=false;
if(window.XMLHttpRequest){
pXmlreq=新的XMLHttpRequest();
} 
else if(window.ActiveXObject){
试一试{
pXmlreq=新的ActiveXObject(“Msxml2.XMLHTTP”);
} 
渔获物(e1){
试一试{
pXmlreq=新的ActiveXObject(“Microsoft.XMLHTTP”);
} 
渔获物(e2){
}
}
}
req=pXmlreq;
}
函数getResponseText(操作、查询、方法、异步、contenttype){
if(方法==null){
方法=“POST”;
}
if(异步==null){
async=“true”;
}
if(contenttype==null){
contenttype=“application/x-www-form-urlencoded”;
}
请求打开(方法、操作、异步);
请求setRequestHeader(“内容类型”,contenttype);
如果(查询){
请求发送(查询);
}否则{
请求发送();
}
返回请求响应文本;
}

您正试图在响应文本准备就绪之前读取它。看起来您将异步调用视为同步调用。这就是问题所在

你在说什么…我的问题是:我有一个错误,我想这个错误会返回给我,因为我必须等待查询结果就绪@Sebas
XMLHttpRequest
s也可以在非IE浏览器中工作。是的,但我有一些ActiveXObject@MarcelKorpelYour查询字符串(
xmlString
)应使用
encodeURIComponent
进行编码。它什么时候输出错误消息?使用断点并逐步检查代码以查看哪里出错。好的,但是如果我对open方法进行注释并只保留它,会返回错误,为什么?我只是把方法开着,我不明白why@AlessandroMinoccheri:当
getResponseText
完成时,您的
req.responseText
仍为
null
。我已尝试对响应进行注释。。当我调用open方法时,错误返回我@MarcelKorpel@AlessandroMinoccheri:然后设置断点并检查传递给
req.open
(该
urlStr
变量是否正确?)的值。是的是正确的,因为如果我将其复制到演示测试页面,它工作正常