• 使用PHP,jsonp,jquery实现跨域


    html代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
    </head>
    <body>
    
    </body>
    <script>
      $(function () {
        $.ajax({
            url: "http://localhost/php/select_data.php",
            type: "post",
            data: {id: "id"},
            dataType: "jsonp",
            jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
            jsonpCallback: "success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
            success: function (data) {
              for(let i in data){
                console.log(eval("(" + data[i] + ")"))
              }
            },
            error: function (error) {
              console.log("error", error)
            }
          }
        )
      })
    </script>
    </html>
    

      PHP代码:

    <?php
    /**
     * Created by PhpStorm.
     * User: DELL
     * Date: 2017/12/8
     * Time: 14:31
     */
    $callback = isset($_REQUEST['callback']) ? trim($_REQUEST['callback']) : ''; //jsonp回调参数,必需
    function getKey($key,$default=""){
        return trim(isset($_REQUEST[$key])?$_REQUEST[$key]:$default);
    }
    $id = getKey("id");
    $conn = mysqli_connect("localhost","root","","test") or die("连接失败");
    $conn->query("set names utf8");
    $sql = "select * from data where ".$id." is not null";
    $result = $conn->query($sql);
    $arr = [];
    while($row=$result->fetch_assoc()){
        array_push($arr,json_encode($row));
    }
    $json = json_encode($arr);  //json 数据
    echo $callback.'('.$json.')';  //返回格式,必需
    

      效果如下:

  • 相关阅读:
    css小随笔
    正则表达式的疑问
    笔记本各型号CPU性能比较
    调整Ajax的ValidatorCalloutExtender绑定后的提示字体
    GridView显示空表头
    VB.net检测输入内容
    asp.net中System.DateTime.Now.ToString()的一些用法
    收藏的手机论坛
    常用或者将要用的技巧或代码(网摘)
    使用Ajax的MaskedEditExtender来限制输入内容
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/8021912.html
Copyright © 2020-2023  润新知