zoukankan      html  css  js  c++  java
  • 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. )'

    至此,问题解决了。

  • 相关阅读:
    python写入excel(xlswriter)--生成图表
    使用jmeter 进行http 接口测试
    Ant 批量执行jmeter 脚本
    搭建持续集成接口测试平台(jenkins+ant+jmeter)
    java异常
    java之线程
    android开发之背景音乐与音效
    android开发之存储数据
    android开发之自定义组件
    android开发之生命周期
  • 原文地址:https://www.cnblogs.com/zcm123/p/3052094.html
Copyright © 2011-2022 走看看