Ajax解析laravelJSON,3分钟短文:Laravel请求体内JSON格式数据的处理办法

原标题:3分钟短文:Laravel请求体内JSON格式数据的处理办法

引言

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

356fd8afeb339869ee6f0ef7277ea87c.png

学习时间

如果知道传入的数据是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 :-)

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

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 14.12_MySQL必知必会12-14 汇总 分组 子查询

12 汇总数据-用聚集类函数用于诸如:表中的行数、表中行组的和、列中的最大值平均值等。(python的dataframe 在输出此类结果时有优势)MySQL 五个聚集函数(其它还有:标准偏差聚集函数等)AVG()COUNT()MAX()MIN()SUM()SELECT AVG(alltotal) FROM yc_tmp;SELE…

mysql jdbc 绑定变量_jdbc测试mysql数据库sql预解析(绑定变量)

jdbc测试mysql数据库sql预解析(绑定变量)用习惯了oracle,学习mysql,想测试一下mysql绑定变量的效果。以前看网上介绍大部份都说mysql没有sql共享池的概念,所以也不存在sql预解析或绑定变量的说法。今天测试了一下(通过网络抓包、查看服务器端…

sublime python插件配置_sublime text 3 + python配置,完整搭建及常用插件安装

四年的时间,一直使用EmEditor编辑器进行Python开发,之前是做面向过程,只需要将一个单独的py文件维护好即可,用着也挺顺手,但是最近在做面向对象的开发,不同的py文件中相互关联较多,感觉单纯使用…

java 开发详解_面向接口编程详解-Java篇

相信看到这篇文字的人已经不需要了解什么是接口了,我就不再过多的做介绍了,直接步入正题,接口测试如何编写。那么在这一篇里,我们用一个例子,让各位对这个重要的编程思想有个直观的印象。为充分考虑到初学者&#xff0…

java md5 密钥_Java 生成16/32位 MD5密钥串

注意!网上广为流传的MD5计算的版本,与标准MD5计算结果不同(原因可能是编码方式的不同)。请注意甄别。以下代码是经过测试的正确版本。public class MD5 {private static final char HEX_DIGITS[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F };p…

java observer模式_Java观察者模式(Observer)详解及应用

Java观察者模式(Observer)详解及应用(2011-12-15 14:03:30)标签:杂谈Java观察者模式(Observer)详解及应用由于网站带有弱sns功能,因此需要设计关注和被关注的消息或是动作通知,那么将这个需求抽象出来的时候就会发现正好符合java中订阅者模式…

java bundle管理_java.util.ResourceBundle使用详解

一、认识国际化资源文件这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以:轻松地本地化或翻译成不同的语言一次处理多个语言环境以后可以轻松地进行修改,支持更多的语言环境说的简单点,这个类的作用就是读取资源属…

java源代码实例倒计时_Java倒计时三种实现方式代码实例

写完js倒计时,突然想用java实现倒计时,写了三种实现方式一:设置时长的倒计时;二:设置时间戳的倒计时;三:使用java.util.Timer类实现的时间戳倒计时代码如下:package timer;import ja…

python二维表转一维表_二维表格转换成一维表格

# 加载数据import pandas as pddf_old1 pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name "变一维")df_old1# 数据清洗,把第一列设为索引列df_old2 pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name "变一…

java web后台_java web 后台那些事

java web 后台运行原理当Web服务器接收到一个HTTP请求时,它会先判断请求内容——如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息;如果牵涉到动态数据,Web服务器会将请求转交给Servlet容器。此时Servlet容…

java 反射机制 视频_JAVA反射机制及其原理实现

9.1 概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;public、protected、private。OO(面向对象),private私有的&#x…

java 安卓下载文件_GitHub - Charay/downloadfile: 使用Retrofit2+Rxjava+Rxandroid+okhttp的方式下载文件并存储到sd卡指定目录...

downloadfile使用Retrofit2RxjavaRxandroidokhttp的方式下载文件并存储到sd卡指定目录使用:gradleStep 1.在工程build.gradle文件中加入maven地址repositories:allprojects {repositories {...maven { url https://jitpack.io }}}Step 2. 在module的build.gradle中添…

java基础 最重要的部分_Java基础(1)最基础的部分

本文章均为自己在自学期间整理的笔记,2020年四月份开始学习Java,如有不足,请补充。希望对各位小伙伴都能有帮助。1.Java中public class和class区别:1)在一个Java文件中可以定义多个class 2)public的class不是必须的 3)public修…

php解析bt,PHP基于闭包思想实现的BT(torrent)文件解析工具实例详解

本文实例讲述了PHP基于闭包思想实现的torrent文件解析工具。分享给大家供大家参考,具体如下:PHP对静态词法域的支持有点奇怪,内部匿名函数必须在参数列表后面加上use关键字,显式的说明想要使用哪些外层函数的局部变量。function c…

java怎么让1的数据2可以拥有,【如何让代码变“高级”(二)】-这样操作值得一波666(Java Stream)(这么有趣)...

“致"高级"工程师(BUG工程师)一颗折腾的心原创不易&#xff0c;点个赞&#x1f497;&#xff0c;支持支持开发中的代码在开发中的代码是不是很常见这样的代码&#xff1a;这样的?for循环取元素取值List szUserList new ArrayList<>();for (User user : userL…

php+页面加载进度,基于jQuery实现模拟页面加载进度条_jquery

因为我们无法通过任何方法获取整个页面的大小和当前加载了多少&#xff0c;所以想制作一个加载进度条的唯一办法就是模拟。那要怎么模拟呢&#xff1f;我们知道&#xff0c;页面是从上往下执行的&#xff0c;也就是说我们可以大致估算出在页面的某个位置加载了多少&#xff0c;…

nifi将hive同步到oracle,NiFi使用总结 一 hive到hive的PutHiveStreaming processor和SelectHiveQL...

我说实话&#xff0c;NiFi的坑真的挺多的。。。1、PutHiveStreaming processor的使用该控制器配置需要hive启用事物&#xff1b;且目前只支持orc格式&#xff0c;且建表需要分桶&#xff0c;开启事务等&#xff0c;建表示例如下&#xff1a;create tabletest_trancaction(user_…

rds oracle,Amazon RDS Oracle数据库托管

您可通过两种不同的许可模式运行 Amazon RDS for Oracle&#xff0c;即“附带许可”和“使用自有许可 (BYOL)”。在“附带许可”服务模型中&#xff0c;您无需单独购买 Oracle 许可&#xff1b;Oracle 数据库软件软件由 AWS 提供授权许可。“附带许可”的起价为 0.04 USD/小时&…

linux目录下有斜杠,Windows和Linux路径中斜杠/和反斜杠\ 的区别

Unix使用斜杆/ 作为路径分隔符&#xff0c;而web应用最新使用在Unix系统上面&#xff0c;所以目前所有的网络地址都采用 斜杆/ 作为分隔符。Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了&#xff0c;为了不混淆&#xff0c;所以采用 反斜杠\ 作为路径分隔符。所以目前…

telnet服务下载 Linux,linux telnet服务安装包

这是linux telnet服务安装包下载&#xff0c; telnet-client 客户端安装包、telnet-server服务端安装包和xinetd依赖包&#xff0c;本人在linux retHat 32位系统上亲自安装过&#xff0c;若您依旧安装不成功&#xff0c;没关系&#xff0c;在附赠.txt中&#xff0c;打开这个链接…