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 ...
随机推荐
- vue中怎样实现 路由拦截器
vue中怎样实现 路由拦截器(当用户没有登录的时候,跳转到登录页面,已经登录的时候,不能跳转到登录页,除非后台token失效) 在 我们需要实现这样 一个功能,登录拦截 其实就是 路由拦截,首先在定义 ...
- vue货币格式化组件、局部过滤功能以及全局过滤功能
一.在这里介绍一个vue的时间格式化插件: moment 使用方法: .npm install moment --save. 2 定义时间格式化全局过滤器 在main.js中 导入组件 import ...
- wx 小程序开发---开发者工具使用
1:右侧详情界面 合法域名 都要在需要在小程序平台 配置合法域名 这样你的小程序请求的网址 才能通. 1.2如果自己的域名没有配置https 可以勾选为 不校验合法域名即可 (小程序官方规定 网址必须 ...
- 【剑指Offer】44、反转单词序列
题目描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,&qu ...
- 算法工程师首先是工程师系列01 - 服务器篇 - 物理服务器安装centos7
尤其在互联网公司中,如果不是分工特别明确的独立业务组,通常需要自己处理很多东西,例如一个算法工程师,虽然不要求你装机,但是和负责部署服务的同事对接口,总不能连json是啥都不知道(工作中遇到过一个ET ...
- python项目开发:ftp server开发
程序要求: 1.用户加密认证 (对用户名密码进行MD5验证)2.允许同时多用户登陆 (使用socket server方法,为每个用户都创建一个信息文件)3.每个用户有自己的家目录,且只能访问自己的家目 ...
- redis命令学习的注意问题
1.set get命令只用于字符串,get命令取key值时string正常返回,没有key返回nil,其他类型会报错 设置的时候是set test redis ex 200000等同于SETEX te ...
- xe7android调用webservice
1.如果用的roservice,那么用builder打开rodl然后直接生成wsdl保存: 2.由系统IDE的Component中调用import WSDL后save as. 3.调用代码: HTTP ...
- h264封包介绍
这个要看你怎么理解了.和MPEG2.MPEG4相比,H.264字节流中帧的形式发生了变化.以视频帧为例,MPEG2和MPEG4字节流在传输的时候提取帧的关键参数,将其封装入传输包首部,比如TS包或RT ...
- pl/sql developer br 文件
pl/sql developer br 文件 Version=1 RightMargin=72 Indent=2 UseTabCharacter=FALSE TabCharacterSize=2 Al ...