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" οnclick="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  }?>

 

转载于:https://www.cnblogs.com/fpcing/p/11393075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值