• jquery跨域,getJson跨域解决方案


    前两天碰到跨域的问题, 其实用js很容易就解决了(如果是php中我们可以这样写echo "<script  language=\"JavaScript\" type=\"text/javascript\" src=\"http://www.xxxx.com?act=123\"></script>")

    如果在html我们就直接可以用window.location.href= "";

    但是这些都是有去无回的,我们并不知道在另一个服务器上是否执行成功

    有同学会说用ajax,童鞋ajax是不能跨域的,如果ajax能跨域那就太不安全了,

    但是我们可以通过GetJson来实现:

    使用实例:js 中

    var url = http://www.xxxxx.com?act=1223;

       jQuery.getJSON(url +”&jsoncallback=?”, function(data){

            alert(”return msg:” + data.msg);

        });

     

    在服务端程序:

        $visitor = $_GET['name'];

        $callback = $_GET['jsoncallback'];

        $msg = ‘hello ‘ . $_GET['name'] . ‘, this is server B!’;

        //服务端返回

        $json_data = ‘{"msg”:" '. $msg . ‘”}";

        echo $callback . ‘('. $json_data . ‘)';

    这样,在客户端得到的返回程序可能是:

        JQUET0988788({”msg”:”hello a, this is server B!”})

    总之,我们要做的是两件事:

        1. 在请求地址里加上参数 jsoncallback=?

        2. 在服务端程序里把jsoncallback的值和数据一起返回,形如 $callback . ‘('.$json_data. )'

    至此,问题解决了。

  • 相关阅读:
    《剑指offer》面试题7:旋转数组的最小数字
    eclipse ------ TODO、FIXME、XXX 等任务标记
    RT-Thread ------ waitqueue
    RT-Thread ------ 设备注册
    ubuntu 安装 glibc
    openwrt上面移植MQTT代码
    MH5000-31模组无法识别SIM卡
    "Hello osmdroid World"手机GPS轨迹数据
    地质数据下载
    绘图软件Surfer绘制等高线
  • 原文地址:https://www.cnblogs.com/zcm123/p/3052094.html
Copyright © 2020-2023  润新知