zoukankan      html  css  js  c++  java
  • ajax前后端简单配合使用

    ajax前后端简单配合使用

    json简介

    json可作为前后端通信的载体,可将数组或对象封装成json,进行信息传递。
    json数据示例:
    数组:["hello",12]
    对象:{"Name":"jack","age":12}
    注意在php中:

    由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

    参考:在PHP语言中使用JSON

    前端ajax使用

    前端利用jQuery的ajax来实现异步传输:

    <script>
     $(function () {
                $.ajax({
                    type: "GET",
                    async: false,
                    url: "http://localhost:63342/be/info.php",
                    data: {info: 1},
                    dataType: "json",
                    success: function (data) {
                    //此处所得到的data是已被解析,可当做对象直接使用
                        for(var i=0;i<data.length;i++)
                        {
                            $(".title").eq(i).html(data[i].Name);
                        }
    
                    }
                });
            });
            
    </script>
    

    后端处理json

    首先php需要接受前端所传输过来的json数据,这里在实验中存在一个问题:
    在使用GET方式,php中使用$_GET[‘para’]是没有问题的,但使用POST方式时,php中使用$_POST去无法获取到参数,不明确具体原因,但利用$info=file_get_contents("php://input")是可以获取到原始请求数据的,$info为一字符串,内容为类似于info=1&&page=12
    后端处理数据示例:

    <?php
    require("DatabaseManager.php");
    $so = new DatabaseManager();
    $content= $so->query("select * from emuGame;");
    
    $info=[];
    while($row = mysqli_fetch_array($content))
    {
        array_push($info,$row);
    }
    echo json_encode($row);//将数组打包成json
    

    注意事项

    • js利用ajax通信时,应在同一域名下,如果跨域名,会无法获取到返回的数据,搞了很久才发现。如果需要跨域,网上说php中可以加上header('Access-Control-Allow-Origin:*');
  • 相关阅读:
    如何判断某个设备文件是否存在
    shell中export理解误区
    linux命令之tail
    国内较快的gnu镜像:北京交通大学镜像
    Cmake的交叉编译
    linux 命令之grep
    makefile之变量赋值
    makefile之VPATH和vpath的使用
    arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
    Jlink 软件断点和硬件断点
  • 原文地址:https://www.cnblogs.com/Rainlee007/p/6308783.html
Copyright © 2011-2022 走看看