[英]Decode backbone.js JSON package in PHP
因此,我一直在解碼從lobb.js應用程序發送到服務器的有效JSON請求時遇到麻煩。 無論我嘗試了什么,解碼后的$ _POST數據都返回null。 我戳了一下stackoverflow,發現了這個解決方案 :
$data = json_decode(file_get_contents('php://input'), true);
print_r($data);
這似乎是一種hack,所以我想知道是否有更好的方法來處理PHP中來自主干的JSON數據。 接收和解碼從PHP中的ribs.js應用程序發送的JSON數據的正確方法是什么?
您應該檢查用於將數據發送到腳本的請求方法,如下所示:
switch ($_SERVER['REQUEST_METHOD'])
{
case 'POST':
{
// do something
}
break;
case 'GET':
{
// do something else
}
break;
case 'PUT':
{
// your snippet goes here
}
break;
case 'DELETE':
{
// do something when request method == DELETE
}
break;
}
當REQUEST_METHOD為PUT或DELETE時,應使用發布的代碼。 根本不是黑客。
您還可以將Backbone配置為通過POST通過以下方式發送數據:
Backbone.emulateHTTP = true;
從Backbone的手冊中:
如果要使用不支持Backbone的默認REST / HTTP方法的舊版Web服務器,則可以選擇打開Backbone.emulateHTTP。 設置此選項將使用HTTP POST偽造PUT和DELETE請求,並使用true方法設置X-HTTP-Method-Override標頭。 如果emulateJSON也處於打開狀態,則true方法將作為附加的_method參數傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.