• 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)+")");
    }

    结果:

  • 相关阅读:
    Devexpress treeList
    sql rowversion
    2015年8月9日 开始 devsxpress 学习
    定时执行任务
    Dexpress 中 grid的使用
    新版 itextsharp pdf code
    jquery ui 中的插件开发
    Centos7下git服务器及gogs部署
    JAVA(TOMCAT)远程调试
    分布式文件系统笔记(慢慢补充)
  • 原文地址:https://www.cnblogs.com/bruce-gou/p/6088778.html
Copyright © 2020-2023  润新知