zoukankan      html  css  js  c++  java
  • jsonp跨域远离

    http://blog.csdn.net/sky_beyond/article/details/54096275

    function ajax( obj ){ // 默认参数 由于 jsonp 原理是 在 url体 中传递, // 所以仅支持 get, 所以不对 type 进行配置 var defaults = { url : '#', dataType : 'jsonp', jsonp : 'callback', data : {}, success : function( data ) { console.log( data ) } } // 处理形参,传递函数的时候就覆盖默认参数,不传递就使用默认的参数 for ( var key in obj ) { defaults[ key ] = obj[ key ]; } // 这里是默认的回调函数名称,根据当前日期和随机数生成 var cbName = 'jQuery' + ('1.11.1' + Math.random()).replace(/D/g,"") + '_' + (new Date().getTime());// 去掉所有的小点,相当于 jquery 后面加一串数字_再加上时间数字 if( defaults.jsonpCallback ){ cbName = defaults.jsonpCallback; } // 这里就是回调函数,调用方式:服务器响应内容来调用 // 向window对象中添加了一个方法,方法名称是变量cbName的值 window[ cbName ] = function( data ){ defaults.success( data );//这里success的data是实参 } // 将所传参数 data 进行处理,添加到 src url中 var param = ''; for( var attr in defaults.data ){ param += attr + '=' + defaults.data[ attr ] + '&'; } if( param ){ // 去掉最后的一个 & param = param.substring( 0, param.length-1 ); param = '&' + param; } // 动态添加 script 标签, 配置参数 var script = document.createElement( 'script' ); // defaults.jsonp 后台 get 变量名,cbName 回调函数名, param 变量 script.src = defaults.url + '?' + defaults.jsonp + '=' + cbName + param; var head = document.getElementsByTagName( 'head' )[ 0 ]; head.appendChild( script ); }

  • 相关阅读:
    获取ip
    PHP大牛笔记收藏
    WordPress伪静态规则设置
    PHP 中 include 和 require 的区别详解
    Wordpress学习链接整理
    手机访问自动跳转
    微信web开发工具
    接入支付宝出现交易订单处理失败,请稍后再试(ALI64)的错误【转】
    HTTPS科普扫盲帖【转】
    php 好用的函数
  • 原文地址:https://www.cnblogs.com/mttcug/p/8572907.html
Copyright © 2011-2022 走看看