我面临着一个跨领域的问题。我用google搜索并找到了一些解决方案,但在这种情况下它们不起作用。我想知道为什么。
我在apache tomcat服务器上托管我的应用程序。在应用程序方面,我使用XMLHttpRequest进行请求,但我得到“XMLHttpRequest无法加载http://localhost:8888/systeminfo
。请求的资源上没有'Access-Control-Allow-Origin'标头。来源'http://localhost:8080
“因此不允许访问。”
这是Application js文件
function testget()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
alert(xhr.responseText);
}
}
alert('Getting data');
xhr.open('GET', 'http://localhost:8888/systeminfo', true);
xhr.setRequestHeader('Access-Control-Allow-Origin','*');
xhr.setRequestHeader('Access-Control-Allow-Methods','GET');
xhr.send();
}
我在local_host:8888上运行节点js服务器,并在访问url时发送json响应,如'http://localhost:8888/systeminfo
'。
这是我正在形成并从服务器发送的json响应
function GetSystemInfo(express)
{
express.namespace('/systeminfo', function(){
express.get('/', function(req, res){
var SYSTEM_INFO = 1;
var jsonres = '{\"event\" : [{ \"apiID\" : \"{0}\" }],\"data\":[{ \"manufacturerName\" : \"MNAME\",\"serialNo\" : \"123456\",}] }'.format(SYSTEM_INFO);
res.setHeader('Access-Control-Allow-Origin','*');
res.send(jsonres);
res.end();
});
});
}
请帮助。
此致
Techtotie。