Ajax.Nodejs.跨域访问

使用环境:

客户端: jQuery

服务器: Node.js

在通过Ajax调用非本域的链接/接口时, 一般是不能成功的, 就算是同一个IP下不同的端口也被认作跨域访问

解决办法记录如下:

客户端:

发起访问的页面所在地址: http://192.168.6.3/client

访问目标地址:http://192.168.6.3:3000/slogssearchpage

代码(重点是红字部分):

1 var url = "http://192.168.6.3:3000/slogssearchpage";
2     $.ajax({
3         type: "GET",
4         url: url,
5         crossDomain: true,
6         success: function(v){
7             $("#divLogs").html(v);
8         }
9 });    

服务端, 受访地址需要处理:

处理前:

1 app.get('/slogssearchpage', function(req, res){
2     res.render('logspage', {docs: docs});
3 });

处理后:

app.get('/slogssearchpage', function(req, res){
    res.set('Access-Control-Allow-Origin', '*');
    res.render('logspage', {docs: docs});
});

done!