[英]How to retrieve values from a JSON Object in PHP
我現在已經使用不同的方法嘗試了很多次,但沒有一個對我有用,所以我問這個問題。
我有一個小表格,其中包含4條信息,一個人的頭銜,名字,中間名和姓氏。 當我按下按鈕時,就形成了一個JSON對象,並通過jQuery.ajax方法作為發布數據發送。
JSON發送到PHP文件:
{
"title": "Mr",
"firstName":"Banana",
"middleName":"Slippy",
"lastName":"McDougle"
}
Ajax呼叫按鈕按下:
function insertPerson(obj, callback){
$.ajax({
type: "POST",
data: "json=" + JSON.stringify(obj),
url: "insertData.php",
success: function(obj){
if (callback){ callback(obj) };
},
error: function(error){
console.log("Error:");
console.log(error);
}
});
}
我傳入一個Javascript對象,然后將其字符串化並發布為參數名稱“ json”。
在我的php文件中,我將發布的字符串分配給一個名為$ json的變量,然后使用json_decode()進行解碼,進行一些時髦的處理,然后將響應發送回瀏覽器。
insertData.php:
require ('connect.php');
header('Content-type: application/json');
$json_string = $_POST['json'];
$json = json_decode($json_string);
...do server related inserts/selects etc...
echo json_encode($json->title);
目前,我只想返回在post請求中發送的json對象的title屬性,但是我返回的任何內容都返回為null。 如果我回顯該字符串而不解碼,則得到以下信息:
{\"title\":\"Mr\",\"firstName\":\"Banana\",\"middleName\":\"Slippy\",\"lastName\":\"McDougle\"}
如果我嘗試使用以下方法提取值:$ title = $ json-> title; 並將其放入MYSQL語句中,將其插入為null或空白,則不會輸入任何內容。
難道我做錯了什么? 還是我以某種方式獲得了過時的PHP版本來處理JSON? 非常感謝您的幫助。
為什么要將JSON發送到PHP腳本? 使用查詢字符串有什么問題?
$.ajax({
type: "POST",
data: obj,
url: "insertData.php",
success: function(obj){
if (callback){ callback(obj) };
},
error: function(error){
console.log("Error:");
console.log(error);
}
});
這會將obj
轉換為查詢字符串,然后您可以執行$_POST['firstName']
和$_POST['lastName']
。
我認為這是最適合您的鏡頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.