zoukankan      html  css  js  c++  java
  • ajax跨域传值

    <script type="text/javascript">
    function xmlpage(){
         $.ajax({
                  url:'http://localhost/3.php',
                  data:"",
                  dataType:"JSONP",//跨域格式为jsonp
                  type:'POST',    
                 jsonpCallback: '_GroupMember_Callback',//jsonpCallback的值为相互传输时用来确认对方
                  success: function(obj){
                      //msg是服务器返回信息
                   alert("地址"+obj.weatherinfo.city+",温度"+obj.weatherinfo.temp+",风向"+obj.weatherinfo.WD);
                
                      }
               });
    
       } 
    </script>
    <input type="button" value="生在在的在" onclick="xmlpage()" />
    

      php文件

    header("Access-Control-Allow-Origin: *");//跨域一定要加
    header('Content-type:text/json');    //说名格式为json
    $jsop='{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"10","WD":"东南风","WS":"2级","SD":"26%","WSE":"2","time":"10:25","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1012"}}';
    
    echo "{$_GET['callback']}({$jsop})";

    jsonp需要一个调用来触发你传入getjson的那个函数,而触发就靠你传入的一个callback参数,这个参数值实际上就是一个特殊函数名,你返回的必须是一段JS代码,才能够触发它,也就是类似
    callack_12324343({'hello':'world'});

    1
    echo "{$_GET['callback']}({$username});";

    简单点说 jsonp跨域的时候要传入一个指定的jsonp编号过去,就是你的连接 比如
    http://xxxxxx.com?jsonp=?&id=1&password=1
    jsonp=?就是传递过去的编号,
    在服务器用GET接受jsonp
    比如  $json = $_GET('jsonp');
    你打印内容返回给前台的时候要注意格式
    jsonp的编号打头
    echo "$json($b)";
    $b是你的json格式内容
    这样就能接受到了!

  • 相关阅读:
    Response.AppendHeader使用大全
    JS获取父框架的内容:获取子框架的内容:js框架应用
    各种好用的代码生成器
    Centos 64位上搭建Android
    WinForm 多线程
    GAC及其作用
    WPF 详解模板
    WPF控件开发基础(1)
    WPF:从WPF Diagram Designer Part 1学习控件模板、移动、改变大小和旋转
    告诫
  • 原文地址:https://www.cnblogs.com/zywf/p/6195524.html
Copyright © 2011-2022 走看看