0
我使用ajax發送一個JSON字符串(從facebook api正確接收)到PHP。當我嘗試解析JSON字符串時,它會爲字符串添加額外的字符,當我嘗試從字符串中獲取值時,我什麼也得不到。在PHP中解析json返回空白
下面是從Facebook返回的JSON:
{"id":"redacted","email":"redacted","first_name":"redacted","gender":"female","last_name":"redacted","link":"redacted","locale":"en_US","name":"redacted","timezone":-6,"updated_time":"2014-12-17T23:10:00+0000","verified":true}
這裏是AJAX:
$.ajax({
type: "POST",
url: "signupfacebookajax.php",
data: { theresponse: JSON.stringify(response) },
success: function(crap){ console.log(crap)}
});
});
這裏是PHP頁面signupfacebookajax.php代碼:
$response = $_POST['theresponse'];
$jsondecode = json_decode($response);
$facebook_id = $jsondecode->id;
echo $facebook_id;
注意事項完全返回。在解決問題時,我注意到JSON字符串在解碼後看起來很奇怪。這是我在通過ajax傳遞之後解碼字符串後得到的。
{\"id\":\"redacted\",\"email\":\"redacted\",\"first_name\":\"redacted\",\"gender\":\"female\",\"last_name\":\"redacted\",\"link\":\"redacted\",\"locale\":\"en_US\",\"name\":\"redacted\",\"timezone\":-6,\"updated_time\":\"2014-12-17T23:10:00+0000\",\"verified\":true}
那是輸出$響應,或$ jsondecode? –
$ response是由ajax發送的字符串,$ jsondecode正在解碼該字符串。 $ facebook_id是json字符串在解碼後不顯示任何內容的id。不知道它如何或在哪裏發生 – gikygik
好吧,我能夠解碼沒有任何問題:既來自Facebook的反應和所有的\。 –