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="width: 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  }?>
复制代码

 

posted @   fpc  阅读(1092)  评论(0编辑  收藏  举报
编辑推荐:
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
阅读排行:
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!
历史上的今天:
2017-08-22 yii2下的路由重写
点击右上角即可分享
微信分享提示