JS和PHP之间以JSON格式传输
Json是一种的轻量级文本数据交换格式。它独立于编程语言,可以用于在不用的编程语言之间进行数据的交互。
下面简单例举二个使用JSON进行数据通信的例子。
第一个例子:
//Javascript以ajax发送数据JSON数据,PHP接收JSON
//前端
var arr ={
"name":"小明",
"age":16
};
var json =JSON.stringify(arr);//使用JSON将对象转换成JSON格式数据
var xhr = new XMLHttpRequest;
xhr.open('post', './bb.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("user=" + json);// Content-Type设置成application/x-www-form-urlencoded 的情况下,请求主体可以用key1=value1&key2=value2的形式发送数据
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status ==304)) //响应完成并且响应码为200或304
alert(xhr.responseText);
}
------华丽的分割线----------------------------------------------------
//后端
<?php
$info = $_POST["user"]; // 这个时候的info是一个字符串
$result = json_decode($info); // 这个时候的result已经被还原成对象
echo $result -> name;
第二个例子:
//PHP发送数据JSON数据 Javascript以ajax接收JSON
//前端
var xhr = new XMLHttpRequest;
xhr.open('post', './bb.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status ==304)) { //响应完成并且响应码为200或304
var rst = JSON.parse(xhr.responseText);
alert(rst.name);
}
};
------华丽的分割线----------------------------------------------------
//后端
$info = array("lession" => "English", "name"=>"Lily");
echo json_encode($info);
补充一个关于JSON的兼容。JSON这个内置对象在IE8之前是不存在的,如果在IE8之前需要使用JSON对象,需要像下述一样引入一个第三方插件json2.js。这样IE7及以下版本就会加载json2.js插件,而其他浏览器或者8及以上版本的IE则不会加载这个插件:
<!--[if lte IE 7]>
<script src="./json2.js"></script>
<![endif]-->
JS和PHP之间以JSON格式传输的更多相关文章
- 【最简单的方法】js判断字符串是否为JSON格式(20180115更新)
前言 针对 “js判断字符串是否为JSON格式” 这个问题,在网上查了许多资料,都没找到自己想要的答案. 但是看到这个帖子<js判断字符串是否为JSON格式>后,突然灵光一闪,想到一种很简 ...
- 前端技术之:如何在控制台将JS class实例输出为JSON格式
有一个类: class Point { constructor(x, y) { this.x = x; this.y = y; } } 如果我们在控制台中输出其实例: console.log(new ...
- js判断字符串是否为JSON格式
不能简单地使用来判断字符串是否是JSON格式: function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); ...
- js Form表单转json格式,及后台接收(多种方法)
转载:https://blog.csdn.net/qq_40138785/article/details/81533015 一.serialize()方法格式:var data = $("# ...
- js 判断字符串是否为JSON格式
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == ...
- js之封装sort实现json格式数据的排序
eg : data:{[ {"name":"paul","ege":12}, {"name":"paul&q ...
- JS 对java返回的json格式的数据处理
var dataObj=eval("("+res+")"); alert(dataObj.billBuy) //res是如下的数据 {"billBuy ...
- JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换
首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是j ...
- JS 验证字符串是否能转为json格式
var isJSON=function (str) { if (typeof str == 'string') { try { var obj = JSON.parse(str); if (typeo ...
随机推荐
- nginx设置跳转https
在监听80端口的内部,添加一句代码:rewrite ^(.*)$ https://$host$1 permanent;
- ubuntu18.0安装RabbitMQ
RabbitMQ是一个消息队列,用于实现应用程序的异步和解耦.生产者将生产消息传送到队列,消费中从队列中拿取消息并处理.生产者不用关心是谁来消费,消费者不用关系是谁在生产消息,从而达到解耦的目的.本文 ...
- BZOJ 5466: [Noip2018]保卫王国 动态DP
Code: // luogu-judger-enable-o2 #include<bits/stdc++.h> #define ll long long #define lson (now ...
- Linux:只复制文件权限和所有者
在Linux上,怎么把一个文件的<权限和所有者>赋给另一个文件呢? chown命令可以设置所有者和用户组:chmod可以设置文件的权限.这两个命令都支持使用另一个文件做为引用(RFILE) ...
- CodeIgniter-CI之MySQL
首先我们需要进行一下配置,这里需要修改的文件为application目录下的config目录下的database.php文件,我们修改相应的配置项,比如这里是我的配置情况: 通常我们在操作数据库之前, ...
- js中获取数组中的最大值最小值
var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a));//最小值 多维数组可以这么修 ...
- python爬虫08 | 你的第二个爬虫,要过年了,爬取豆瓣最受欢迎的250部电影慢慢看
马上就要过年啦 过年在家干啥咧 准备好被七大姑八大姨轮番「轰炸」了没? 你的内心 os 是这样的 但实际上你是这样的 应付完之后 闲暇时刻不妨看看电影 接下来咱们就来爬取豆瓣上评分最高的 250部电影 ...
- Java设计模式之 — 策略(Strategy)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8986285 今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急 ...
- lunix下的redis数据库操作——list列表
首先,需要先了解栈和队列的概念: 栈 先进后出:类比弹夹上的子弹,最后上进弹夹的子弹第一个使用,砌墙的板砖,后来居上 队列 先进先出:排队打饭,先到先得 创建列表: 左添加:(栈的形式添加) lp ...
- mysql 多个select需要放入一个事务吗?
第一次写博客,还请大家多多支持 今天同事问了个问题:在多个select的时候,用不用放入同一个事务? 首先先看个例子: public class JDBCClient { public static ...