zoukankan      html  css  js  c++  java
  • 弄cocos2d 搞了个 jsonp 可跨域传输数据

    xx.js

    this.jsonp({
    async: false,
    url: "http://123.56.240.111/mobile/login/get_sit_state", //请求地址
    type: "GET", //请求方式
    data: { sit_id: "3",store_id:store_id}, //请求参数
    dataType: "JSONP",
    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
    // jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也
    callback:"process",
    success: function (Response) {
    alert(Response);

    },
    fail: function (status) {
    console.log(status);
    },
    });

    jsonp:function (options) {
    options = options || {};
    if (!options.url || !options.callback) {
    throw new Error("参数不合法");
    }

    //创建 script 标签并加入到页面中
    var callbackName = ('jsonp_' + Math.random()).replace(".", "");
    var oHead = document.getElementsByTagName('head')[0];
    options.data[options.callback] = callbackName;
    var params = this.formatParams(options.data);
    var oS = document.createElement('script');
    oHead.appendChild(oS);

    //创建jsonp回调函数
    window[callbackName] = function (json) {
    oHead.removeChild(oS);
    clearTimeout(oS.timer);
    window[callbackName] = null;
    options.success && options.success(json);
    };

    //发送请求
    oS.src = options.url + '?' + params;
    //超时处理
    if (options.time) {
    oS.timer = setTimeout(function () {
    window[callbackName] = null;
    oHead.removeChild(oS);
    options.fail && options.fail({ message: "超时" });
    }, time);
    }
    },

    //格式化参数
    formatParams:function (data) {
    var arr = [];
    for (var name in data) {
    arr.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name]));
    }
    return arr.join('&');
    }

    访问的页面要调用js中的函数

    xx.php

    $callback = $_GET['process'];
    $data = $arr;
    echo 'this.'.$callback.'('.json_encode($data).');';die();

  • 相关阅读:
    leetcode刷题笔记 273题 整数转换英文表示
    leetcode刷题笔记 278题 第一个错误的版本
    leetcode刷题笔记 268题 丢失的数字
    leetcode刷题笔记 264题 丑数 II
    leetcode刷题笔记 263题 丑数
    20210130日报
    20210129日报
    20210128日报
    20210127日报
    20210126日报
  • 原文地址:https://www.cnblogs.com/gaoqing502/p/5985148.html
Copyright © 2011-2022 走看看