php返回json数据交给js(thinkphp返回json数据)

发布时间 : 08-03

引言

前几篇文章我们讲了表单数据的接收,验证等功能。也说到了传送的数组如何处理, 今天我们说一下如果传送的数据是JSON格式,其处理流程。

学习时间

如果知道传入的数据是JSON格式,作为新手可能会直接从输入获取,这些组织代码:

$json = file_get_contents('php://input');

$data = json_decode($json,true);

解析为关联数组,输出内容大概如下:

[ { "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" } ]

前端请求数据时,可以采用纯手动组装JSON字符串,然后整体提交的方式:

$.ajax({

type: "POST",

url: "/people",

data: '[{ "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" }]',

contentType: "json",

success:function(data) { // code }

});

这里是使用jquery的ajax方法发起请求。data 没有使用object对象传输数据, 而是一个整体的字符串。所以在接收的时候使用了原生的PHP方法。

这个做法很原始,也非常不灵活。其实接收请求参数的时候,我们可以使用laravel提供的 request 对象进行操作, 比如这样接收:

$data = json_decode($request->getContent(), true);

其中 getContent 方法返回的就是原始的提交数据的字符串内容。

或者我们对于post请求的数据,使用 Request 的 json 方法,将其进行json化,这将返回一个 ParameterBag 对象。 再将其格式化为数组即可:

$data = $request->json()->all();

写在最后

本文介绍了laravel格式化网络请求的json格式数据的方式。 知识点很小,但是很实用,希望大家能够熟练掌握。

Happy coding :-)

我是@程序员小助手,持续分享编程知识,欢迎关注。

js中怎么样获取从form提交后返回的json数据?

同页面下的话就需要做异步处理,后台return json格式数据 $.ajax({ url:"后台地址的url", data:{ id:id }, type:"POST", success:function(re){ console.log(re);//打印返回数据 } });

浏览器怎么用get方式传递json数组?

使用POST、GET提交JSON数据到服务器

阅读本教程你需要:

引用开源库 ASI (负责网络通信)、 JSONKit (负责封装和解析JSON数据)管理开源库则需要工具 cocoapods (配置 ruby 和 gem ),这是安装教程好的,现在假设里上述工具都已经配置好了新建一个工程,我以 Demo 为例 /Users/Demo在命令终端中进入 Demo 目录用 vim 命令新建一个文件 Podfile

输入命令 vim Podfile

按下 i 键,进入输入模式

内容为:

按下 esc 进入命令模式,连按两次大写的Z保存并退出 vim

输入命令 pod install 等待 出现

[!] From now on use Demo.xcworkspace.

在 finder 中打开 xcworkspace 来开启工程(进行此操作最好先把xcode关闭,不然会看到 “xxx 已经在 xcode 中打开的提示”)

把 github 上的 JSONKit 搞下来

导入头文件

在这里需要处理两个 bugJSONKit 不支持 arc 模式,所以在 Build Phases 中把 JSONKit.m Compiler Flags 填入“-fno-objc-arc”不支持古老的 isa,所以你要这样做

好的,现在开始写代码了假设我们要上传的 JSON 格式是这样的:

一个登录方法

好的现在完成了

文章推荐:

php返回json数据交给js(thinkphp返回json数据)

前端开发如何包装可重用的JavaScript代码?

node.js怎么获取访问者的内网ip?

使用js实现的简单拖拽效果?

post请求的提交数据方式有(请在微信客户端内提交验证)