解决Ajax跨域访问的问题

从html5开始,可以通过在响应头里增加Access-Control-Allow-Origin,实现跨域请求。
nodeJs的代码(http://xxx.aaa.com):

exports.appremotedo = function(req, res) {
    var _sql = req.params.sql;
    if (_sql == "remote_getMenu") {
        /*远程获取菜单*/
        var sql1 = "select * from posts_category where id > 3 and id < 100";
        mysql.query(sql1, function(err, rows1) {
            res.setHeader("Access-Control-Allow-Origin","*");
            res.json(rows1);
        });
    }
};

客户端的代码(http://xxx.bbb.com):

$.ajax({
    type : "POST",
    url : "http://xxx.aaa.com/app/getMenu",
    success : function (data){
        console.log(data);
    }
});

当然,生产环境里不能把Access-Control-Allow-Origin设置成*,而应该设置成允许跨域访问的源站的域名。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容