解决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设置成*,而应该设置成允许跨域访问的源站的域名。

你可能感兴趣的:(解决Ajax跨域访问的问题)