ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php与ajax交互

2021-04-03 13:01:59  阅读:120  来源: 互联网

标签:status console json xhr ajax php 交互 id


html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
    <script src="ajax.js"></script>
</head>
<body>
</body>
</html>
ajax.js
'use strict';

//jquery发送json数据
// $.ajax({
//     url: 'server.php',
//     method: 'POST',
//     dataType: 'json',
//     contentType: 'application/json;charset=UTF-8',
//     data:JSON.stringify({"id":1}),
//     success:function(data, status){
//         console.log(data);
//     }
// });

//原生ajax发送json数据
var xhr = new XMLHttpRequest();

//如果状态改变时,执行的回调函数
xhr.onreadystatechange = function() {
    //如果状态为4,说明已经完成
    if (xhr.readyState == 4) {
        //如果状态码为正常
        if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
            //把json字符串转换为对象
            var x = JSON.parse(xhr.responseText);
            //获取一下x变量的数据类型
            console.log(typeof x);
            //输出id的键值
            console.log(x.mycode);
        } else {
            console.log(xhr.status);
        }
    }
}

//请求方法为post,url为server.php,异步通信
xhr.open("POST", "server.php", true);
//设置一下发送给服务器的头部
//请求报文的内容类型为json,字符集为utf-8
xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");
//把json对象转换为字符串
xhr.send(JSON.stringify({"id":1}));
server.php
<?php
	//获取原始流
    $postdata = file_get_contents("php://input");
    //如果有数据
    if (isset($postdata)) {
        //把json字符串转换为对象
        $request = json_decode($postdata);
        //访问json对象
        $id = $request->id;
        //把json格式转换为字符串
        echo json_encode([
            "mycode" => $id
        ]);
    }
?>
南无阿弥陀佛,善哉善哉

标签:status,console,json,xhr,ajax,php,交互,id
来源: https://blog.csdn.net/qq_35068659/article/details/115414829

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有