AJAX(Asynchronous JavaScript and XML)一种异步通信技术,可以通过JavaScript和XML实现局部刷新页面,提高网页速度和用户体验。
在AJAX中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,可以将数据传递给服务器或从服务器获取数据,常用于编写异步请求并响应JSON格式的数据。
var data = [
{ name: "John",age: 25 },{ name: "Jane",age: 30 },{ name: "Bob",age: 40 }
];
var xhr = new XMLHttpRequest();
xhr.open("POST","test.PHP");
xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 && xhr.status === 200){
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify(data));
首先创建一个存储JSON数组的变量data,然后实例化XMLHttpRequest对象xhr。
在xhr对象上设置请求方式为POST,请求地址为test.PHP,并设置请求头Content-Type为application/json;charset=UTF-8。
接着,在xhr对象上添加一个监听函数,用于在响应完成后执行回调函数。如果响应状态码为200,则将服务器返回的响应文本输出到控制台。
最后,将JSON数组转换为字符串并发送到服务器端。
$json_str = file_get_contents("PHP://input");
$json_obj = json_decode($json_str);
foreach($json_obj as $item){
echo $item->name . " is " . $item->age . " years old. \n";
}
首先使用file_get_contents函数获取POST请求的请求体,即JSON字符串。然后,使用json_decode函数将JSON字符串解码为一个对象。
最后,使用foreach循环遍历JSON数组中的每个元素,输出名字和年龄。
通过以上代码示例,实现了使用AJAX传递JSON数组到PHP并解析JSON数据的过程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。