Ajax解析laravelJSON,3分钟短文:Laravel请求体内JSON格式数据的处理办法
原標(biāo)題:3分鐘短文:Laravel請(qǐng)求體內(nèi)JSON格式數(shù)據(jù)的處理辦法
引言
前幾篇文章我們講了表單數(shù)據(jù)的接收,驗(yàn)證等功能。也說到了傳送的數(shù)組如何處理, 今天我們說一下如果傳送的數(shù)據(jù)是JSON格式,其處理流程。
學(xué)習(xí)時(shí)間
如果知道傳入的數(shù)據(jù)是JSON格式,作為新手可能會(huì)直接從輸入獲取,這些組織代碼:
$json = file_get_contents('php://input');
$data = json_decode($json,true);
解析為關(guān)聯(lián)數(shù)組,輸出內(nèi)容大概如下:
[
{ "name": "John", "location": "Boston" },
{ "name": "Dave", "location": "Lancaster" }
]
前端請(qǐng)求數(shù)據(jù)時(shí),可以采用純手動(dòng)組裝JSON字符串,然后整體提交的方式:
$.ajax({
type: "POST",
url: "/people",
data: '[{ "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" }]',
contentType: "json",
success:function(data) {
// code
}
});
這里是使用jquery的ajax方法發(fā)起請(qǐng)求。data 沒有使用object對(duì)象傳輸數(shù)據(jù), 而是一個(gè)整體的字符串。所以在接收的時(shí)候使用了原生的PHP方法。
這個(gè)做法很原始,也非常不靈活。其實(shí)接收請(qǐng)求參數(shù)的時(shí)候,我們可以使用laravel提供的 request 對(duì)象進(jìn)行操作, 比如這樣接收:
$data = json_decode($request->getContent(), true);
其中 getContent 方法返回的就是原始的提交數(shù)據(jù)的字符串內(nèi)容。
或者我們對(duì)于post請(qǐng)求的數(shù)據(jù),使用 Request 的 json 方法,將其進(jìn)行json化,這將返回一個(gè) ParameterBag 對(duì)象。 再將其格式化為數(shù)組即可:
$data = $request->json()->all();
寫在最后
本文介紹了laravel格式化網(wǎng)絡(luò)請(qǐng)求的json格式數(shù)據(jù)的方式。 知識(shí)點(diǎn)很小,但是很實(shí)用,希望大家能夠熟練掌握。
Happy coding :-)
我是@程序員小助手,持續(xù)分享編程知識(shí),歡迎關(guān)注。
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的Ajax解析laravelJSON,3分钟短文:Laravel请求体内JSON格式数据的处理办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java observer模式_Java
- 下一篇: html5图片剪切板,JavaScrip