2016-10-20 34 views
0
data=%7B%22password%22%3A%221234%22%2C%22username%22%3A%22user1234%22%7D& 

我從POST請求這類URL解碼它看起來像這樣laravel 5解碼後的方法URL

data={"password":"1234","username":"user1234"}& 
在我的情況IM嘗試larave到decoe

,但它不工作屬性格式,怎麼能我做

,這是我的示例代碼

function login(Request $request) 
    { 
$requestData =$request->request->get('data'); 

     $data = json_decode($requestData, true); 

     $username = $data['username']; 
     $password = $data['password']; 

return new JsonResponse($username); 
} 
+0

你能顯示HTML代碼嗎?爲什麼數據以這種方式格式化?順便說一句,你應該使用'''$ request-> get('data')'''。 –

回答

1

像這樣的東西應該工作:

$url = "data=%7B%22password%22%3A%221234%22%2C%22username%22%3A%22user1234%22%7D&"; 
$decode = urldecode($url); 
$sub = substr($decode, strpos($decode,'{')+strlen('{'),strlen($decode)); 
$sub2 = substr($sub,0,strpos($sub,'}')); 
$explode = explode(',', $sub2); 
$data = array(); 
foreach($explode as $arrayData) 
{ 
    $arrayData = explode(":",$arrayData); 
    $key = substr($arrayData[0], 1, -1); 
    $value = substr($arrayData[1], 1, -1); 
    $data[$key] = $value; 
} 
print_r($data);