Javascript XMLHttpRequest错误脚本10
嗨,我需要连接到外部服务器才能检索数据。 他们告诉我使用他们的脚本,我必须修改一些东西,因为它是错误的。现在,当我试图满足我的要求时,我遇到了一个问题。 将错误返回到internet explorer控制台 SCRIPT10:完成此操作所需的数据为 还没有 这是我的javascript页面,我认为问题在于查询没有及时完成以打印结果。当结果准备就绪且不返回错误时,如何打印结果? 我尝试对我的所有请求进行注释,只保留方法“open”,但每次都会返回错误。为什么Javascript XMLHttpRequest错误脚本10,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,嗨,我需要连接到外部服务器才能检索数据。 他们告诉我使用他们的脚本,我必须修改一些东西,因为它是错误的。现在,当我试图满足我的要求时,我遇到了一个问题。 将错误返回到internet explorer控制台 SCRIPT10:完成此操作所需的数据为 还没有 这是我的javascript页面,我认为问题在于查询没有及时完成以打印结果。当结果准备就绪且不返回错误时,如何打印结果? 我尝试对我的所有请求进行注释,只保留方法“open”,但每次都会返回错误。为什么 <!DOCTYPE HTML P
<!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);
如果(查询){
请求发送(查询);
}否则{
请求发送();
}
返回请求响应文本;
}
您正试图在响应文本准备就绪之前读取它。看起来您将异步调用视为同步调用。这就是问题所在 你在说什么…我的问题是:我有一个错误,我想这个错误会返回给我,因为我必须等待查询结果就绪@SebasXMLHttpRequest
s也可以在非IE浏览器中工作。是的,但我有一些ActiveXObject@MarcelKorpelYour查询字符串(xmlString
)应使用encodeURIComponent
进行编码。它什么时候输出错误消息?使用断点并逐步检查代码以查看哪里出错。好的,但是如果我对open方法进行注释并只保留它,会返回错误,为什么?我只是把方法开着,我不明白why@AlessandroMinoccheri:当getResponseText
完成时,您的req.responseText
仍为null
。我已尝试对响应进行注释。。当我调用open方法时,错误返回我@MarcelKorpel@AlessandroMinoccheri:然后设置断点并检查传递给req.open
(该urlStr
变量是否正确?)的值。是的是正确的,因为如果我将其复制到演示测试页面,它工作正常