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

2019/08/22 10:59
阅读数 189
<?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  }?>

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部