zoukankan      html  css  js  c++  java
  • 关于js跨域

    get方式:

    称为jsonp,就是js的跨域通信方式,因为知道有些标签可以跨域获取内容,例如img,script,link...,jsonp就是把动态创建一个script标签,然后配置src属性,后台代码返回的时一个函数,称之回调函数,后台完成业务后,调用下面这个AjaxHandleCrossDomainFormat()来返回一个要回调函数,后台执行完成后并返回此js代码,然后调用js的success_jsonpCallback方法,因为ajax封装好了,所以直接在参数[jsonpCallback]处写这个方法的名称即可,至于ajax中jsonp这个参数就类似于url中的ID=1,在这里时callback=success_jsonpCallback(),这些名字可以随便改,实现跨域也可以用iframe之类的,也可以不用ajax,动态创建一个script标签,把网址赋进去,然后本地在写一个方法,后台返回值就是这个方法,他自己就会调用,

    还有,了解到,jsonp作为一种数据传输方法,和ajax的意义是相冲突的,本身jsonp是不应该集成在ajax中的,跨域的简单笔记完成~

      private string AjaxHandleCrossDomainFormat(string Json, string callbackparam = null)
            {
                if (callbackparam == null)
                {
                    return "success_jsonpCallback([" + Json.Replace(@"
    ", "").Replace(""", "'").Replace(@"", "") + "])";
                }
                else
                {
                    return callbackparam + "([" + Json.Replace("
    ", "").Replace(""", "'").Replace(@"", "") + "])";
                }
            }

    ajax: 

    $.ajax({
                    type: "post",
                    url: "http://myesn.cn/remote.js",
                    dataType: "jsonp",
                    jsonp: "callback",
                    jsonpCallback: "success_jsonpCallback",
                    success: function (data) {
                        console.trace();
                        console.log(data.result);
                    },
                    error: function (msg) {
                        console.log(msg.statusText);
                    }
                });


    Post方式:

    添加IIS的mime类型,添加以下三个就可以了,改变Access-Control-Allow-Origin 就可以限制来访的网址

    Access-Control-Allow-Headers:*

    Access-Control-Allow-Methods:POST

    Access-Control-Allow-Origin:*

  • 相关阅读:
    1. Spring Cloud Greenwich SR2 概览
    Spring zuul 快速入门实践 --服务转发实现解析
    文件上传下载原理:http协议分析及实现
    Tomcat session的实现:线程安全与管理
    Dubbo(七):redis注册中心的应用
    Dubbo(六):zookeeper注册中心的应用
    Dubbo(五):集群容错的实现
    Dubbo(四):服务路由的实现
    Dubbo(三):负载均衡实现解析
    Nginx(一):启动流程解析
  • 原文地址:https://www.cnblogs.com/myesn/p/javascript-cors-jsonp.html
Copyright © 2011-2022 走看看