我正在尝试从与我的网络服务器相同的服务器上的服务中获取文本。链接是这样的:
http://<OwnIPadres>:8080/calc/something?var=that
这是我的代码:
function httpGet(theUrl)
{
alert(theUrl);
var doc = new XMLHttpRequest();
doc.onreadystatechange = function() {
if (doc.readyState == XMLHttpRequest.DONE) {
alert("text: " + doc.responseText );
document.getElementById('ctm').text = doc.responseText;
}
}
doc.open("get", theUrl);
doc.setRequestHeader("Content-Encoding", "UTF-8");
doc.send();
}
我在第一次提醒时打印的网址是好的,如果我在浏览器中测试,它是一个带有表格的html页面。但我的文字警报是空的?问题是文本是html吗?
答案 0 :(得分:2)
实际上,你的'文字'是'html'就可以了。问题是使用不同的端口算作跨站点脚本。因此,浏览器在通过端口8080实际到达您的页面之前停止了您的XMLHttpRequest。
我不确定您在此代码段之前和之前做了什么,但您可以尝试对您的网址进行iframe调用以获取您的数据,或者您可以添加
Access-Control-Allow-Origin:http://:8080 /
标题中的(但这只能让您获得最现代化的浏览器)。
最后,您可以引入一个像JQuery这样的JS框架,它可以帮助您提取这些服务数据。