使用环境:
客户端: jQuery
服务器: Node.js
在通过Ajax调用非本域的链接/接口时, 一般是不能成功的, 就算是同一个IP下不同的端口也被认作跨域访问
解决办法记录如下:
客户端:
发起访问的页面所在地址: http://192.168.6.3/client
访问目标地址:http://192.168.6.3:3000/slogssearchpage
代码(重点是红字部分):
var url = "http://192.168.6.3:3000/slogssearchpage";
$.ajax({
type: "GET",
url: url,
crossDomain: true,
success: function(v){
$("#divLogs").html(v);
}
});
服务端, 受访地址需要处理:
处理前:
app.get('/slogssearchpage', function(req, res){
res.render('logspage', {docs: docs});
});
处理后:
app.get('/slogssearchpage', function(req, res){
res.set('Access-Control-Allow-Origin', '*');
res.render('logspage', {docs: docs});
});
done!