使用环境:
客户端: 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!