• ajax 实现跨域


    ajax本身是不可以跨域的,
    通过产生一个script标签来实现跨域。因为script标签的src属性是没有跨域的限制的。

    其实设置了dataType: 'jsonp'后,$.ajax方法就和ajax XmlHttpRequest没什么关系了,取而代之的则是JSONP协议。JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问。

    js代码:

    var url = "http://127.0.0.1:8000/test";
            $.ajax({
                type:'get',
                url:url,
                dataType:'jsonp',
                jsonpCallback:'back',
                success:function(msg){
                    console.log(msg);
                },
                error:function(){
                    alert('访问失败!');
                }
            });

    异域服务器端代码:

    app.js中:

    //跨域测试
    app.get('/test',webIndex.tests);
    //测试跨域
    exports.tests = function(req,res){
        /**设置响应头允许ajax跨域访问**/
        res.setHeader("Access-Control-Allow-Origin","*");
        /*星号表示所有的异域请求都可以接受,*/
        res.setHeader("Access-Control-Allow-Methods","GET,POST");
        var obj = {
            b:'111',
            c:'222'
        }
        res.send("back("+JSON.stringify(obj)+")");
    }

    结果:

  • 相关阅读:
    ARM裸机开发(二)中断编程
    Linux汇编与C互相调用
    Java 2009
    MFC对Socket编程的支持
    Thinkpad
    IE9
    ASP.NET MVC学习教材
    sysprep.exe修改SID
    查询显示进度条
    MOSS2007中型服务场管理 教材<02>: SubSite Backup & Restore
  • 原文地址:https://www.cnblogs.com/bruce-gou/p/6088778.html
Copyright © 2020-2023  润新知