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,一经查实,立即删除!

相关文章

python数据批量写入iq数据库_通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本...

CREATE TABLE poc_app.sys_ftp_cfg(ftp_id varchar(100) NOT NULL, --话单文件名标记ftp_cycle_id varchar(1) NOT NULL, --话单文件名周期ftp_stage_filepath varchar(255) NOT NULL, --话单处理后路径ftp_stage_filereg …

监听某个区域滚动_监听页面滚动及滚动到指定位置

一、原生js通过window.onscroll监听window.onscroll function() {//为了保证兼容性,这里取两个值,哪个有值取哪一个//scrollTop就是触发滚轮事件时滚轮的高度var scrollTop document.documentElement.scrollTop || document.body.scrollTop;console.lo…

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预解析或绑定变量的说法。今天测试了一下(通过网络抓包、查看服务器端…

mysql错误码1709_MySQL5.6出现ERROR 1709 (HY000): Index column size too large问题的解决方法...

一、问题mysql 5.6 出现如下问题:[ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.]二、解决根据文档所述Prefix support and lengths of prefixes (where supported) are storage engine dependent. For example, a pref…

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

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

java中trim_java中string.trim()函数的作用实例及源码

trim()的作用:去掉字符串首尾的空格。public static void main(String arg[]){String a" hello world ";String b"hello world";System.out.println(b.equals(a));aa.trim();//去掉字符串首尾的空格System.out.println(a.equals(b));}执行结果&…

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

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

java入栈_java中代码块的执行,也会有入栈的步骤吗?

首先这个问题很有意思,不过题主没具体指明放在何处的代码块。这里至少有三种情况,第一种就是在普通的方法里面,第二种是实例初始化代码块,第三种是静态初始化代码块。第一种情况使用javap反汇编了一下有代码块的代码和无代码块的代…

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 反射创建对象并赋值_java使用反射创建并操作对象的方法

Class 对象可以获得该类里的方法(由 Method 对象表示)、构造器(由 Constructor 对象表示)、成员变量(由 Field 对象表示),这三个类都位于 java.lang.reflect 包下,并实现了 java.lang.reflect.Member 接口。程序可以通过对象来执行对应的方法&#xff0c…

cad注释比例和打印比例不一样_cad注释比例(cad注释比例与打印比例)

这两个比例有什么区别 分别代表的是什么意思 麻烦说详细点 谢谢是物体被缩小了50倍后的图形这两个比例。但是一张图纸不允许出现两个或以上的比例(局部放大除外),但是标注的数字是实际尺寸,两个没有区别画的是800*500mm的线,注释比例用的1:1&…

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

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

java mac postgresql_PostgreSQL 的安装与使用 for mac

##安装 在 mac 下,可以利用 homebrew 直接安装 PostgreSQL:brew install postgresql安装好之后有一个数据库(postgres),如需要重新初始化数据库:initdb /usr/local/var/postgres_mao启动:pg_ctl -D /usr/local/var/pos…

疯狂java讲义价格_疯狂java讲义

封装:封装:将对象状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是用类所提供的方法访问和操作。访问控制符:private(当前类访问权) ,protected(子类访问),public(公共访问),default(包访问…

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

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

java 加密 encrypt_JAVA Encrypter 加密算法

Java代码/*** 加密者** time: 2007-8-29 下午05:45:36*/public final class Encrypter {private static Cipher ecipher;private static Cipher dcipher;// 必须24个字符private static final String key "*:1$7!a*:1$7!a*:1$7!^";private static final String alg …

java base64 加解密_java Base64加解密

import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64Util {public static void main( String[] args ) {String data2 " var re1/[a-zA-Z]/g; return (FIELD_VALUE.match(re1)).length;";try {// BASE64加密BASE64Encoder encoder n…

python svn库_python实现svn新老库迁移

1 #!/usr/bin/env python2 #codingutf-834 #启动环境:linux,安装了python,svn客户端,并且具备python部分依赖包,xlrd,shutil,如果没有网上搜索安装5 #启动方式:将文件MvSvnLibToNew.…