【发布时间】:2013-03-06 14:41:30
【问题描述】:
大家好,我必须连接到外部服务器才能检索数据。 他们告诉我使用他们的脚本,我必须修改一些东西,因为它是错误的。现在,当我尝试午餐我的要求时,我遇到了一个问题。 将错误返回到我的 Internet Explorer 控制台
SCRIPT10:完成此操作所需的数据是 还没有。
这是我的 javascript 页面,我认为问题是因为查询没有及时完成以打印我的结果。当它们准备好并且不返回错误时,如何打印结果? 我已尝试评论我的所有请求,只保留“打开”方法,但每次都会返回错误。为什么??
<!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>
【问题讨论】:
-
你在说什么……
-
我的问题是:我有一个错误我认为这个错误会返回给我,因为我必须等待查询结果准备好@Sebas
-
XMLHttpRequests 也适用于非 IE 浏览器。 -
是的,但我有一些 ActiveXObject @MarcelKorpel
-
您的查询字符串(在您的情况下为
xmlString)应使用encodeURIComponent编码。它何时输出该错误消息?使用断点并单步执行您的代码,看看哪里出错了。
标签: javascript xml xmlhttprequest