• js配合php原生代码发送ajax请求


    <?php
    
    //$a = "{'id':'1'}";
    //$b = '{"id":1}';
    //$a = iconv('ASCII',"UTF-8",$a);
    //var_dump(json_decode($a));
    //var_dump(json_last_error());
    //var_dump(json_last_error_msg());
    //var_dump(mb_detect_encoding($a, array("ASCII","GB2312","GBK","UTF-8")));
    //
    //exit;
    
    //放在body中的内容要用php://input接受
    //同事,json_decode转换的时候要在第二个参数加上true,否则转换的时候不是数组而是对象
    $body = json_decode(file_get_contents('php://input'),true);
    
    //这里使用echo 的原因是因为return 无法在页面中输入,前台无法捕捉到返回的内容
    if(isset($body['id']) && $body['id'] == 1){
        echo json_encode(['data'=>['FENG','PENG','CHAO']]);
    }else{
    ?>
    <input type="submit" onclick="rand()" value="点击生成1000个随机数" style="position: fixed;right:0;top: 45%;"/>
    
        <div id="dd" style=" 100%;text-align: center"></div>
    <script>
        function rand(){
    
            var xmlHttp = new XMLHttpRequest();
    
            //2.为引擎对象绑定监听事件
    
            xmlHttp.onreadystatechange = function() {
    
                //当状态变化时处理的事情
    
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    
                    //5.接收响应信息
                    var data = JSON.parse(xmlHttp.responseText);//将json字符串解析为对象
    
                    document.getElementById("dd").innerHTML=data.data;
                }
    
            }
    
            //3.绑定服务器地址
    
            //第一个参数:请求方式GET/POST
    
            //第二个参数:后台服务器地址
    
            //第三个参数:是否是异步 true--异步true   false--同步
    
            xmlHttp.open("POST", "",false );//发送方式
            xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");//如果想要将发送的内容放到body中,那么必须要加上这句话
    
            //4.发送请求
        //发送内容,注意这里的单引号和双引号的顺序,如果顺序出错,那么后台将无法解析该字符串
            xmlHttp.send('{"id":1}');
    
            // $.ajax({
            //     data:{id:1},
            //     dataType:'JSON',
            //     type:'post',
            //     success:function(res){
            //         $.each(res.data,function(idex,item){
            //             $("#dd").append(item.token+'<br>');
            //         })
            //     }
            // })
    
        }
    </script>
    
    <?php  }?>

     

  • 相关阅读:
    Linux中ctrl+z 、ctrl+c、 ctrl+d区别
    linux文件与用户权限的设置
    查找jdk的安装目录
    linux上修改防火墙操作
    linux上打包与压缩操作
    安装hive操作参考视频
    linux上设置环境变量每次需要source /etc/profile问题处理
    【c语言趣味编程100例】出售金鱼
    【c语言趣味编程100例】三色球问题
    【c语言】递归实现strlen()函数
  • 原文地址:https://www.cnblogs.com/fpcing/p/11393075.html
Copyright © 2020-2023  润新知