#php #jquery #json #ajax
#php #jquery #json #ajax
Вопрос:
Хорошо, итак, я уже довольно давно пытаюсь найти ответ на этот вопрос, и каждое отдельное решение, похоже, не работает для меня по какой-то причине, в которой я все еще не уверен. Итак, вот мой код $.ajax
PostData.push({
"PostRequestType" : "updateBasicInformation",
"newDisplayNameUser" : FormData[0].value,
"newUserNameUser" : FormData[1].value,
"newEmailUser" : FormData[2].value,
"newSearchRadius" : FormData[3].value,
"newIsAnonymous" : FormData[4].value
});
PostData = JSON.stringify(PostData);
$.ajax({
type: "POST",
url: "./updateUserSettings.php",
data: {"BasicInformationData" : PostData},
success: function(result)
{
$("#ErrorSection").append(result);
if(result == "success")
{
$("#Form1Status").addClass('success');
$("#Form1Status").append("Success");
}
else
{
$("#Form2Status").addClass('failure');
$("#Form2Status").append("Erreur SQL");
}
}
});
и вот этот простой PHP-код, который я пытаюсь выполнить
$jsonOBJ = json_decode($_POST['BasicInformationData']);
echo $jsonOBJ->newDisplayNameUser;
Несколько потоков, похоже, предполагают, что это правильный способ сделать это, но по какой-то причине это, похоже, не дает никакого результата, и я перепробовал несколько вариантов этого кода, я пытался использовать $jsonObj [X] или другие подобные комбинации, но, похоже, пока ничего не сработало.
Итак, я спрашиваю, как мне правильно использовать объект json в PHP?
Комментарии:
1. Идентификатор сбрасывает этот ключ
BasicInformationData
и просто отправляет сериализованные данные. Имея этот ключ там, вы отправляете данные JSON в виде строки.2. какова форма вашего параметра на стороне сервера?
3. Для начала, это разумная идея
var_dump($_POST)
. Это может сузить проблему. Другое дело, еслиecho $jsonOBJ->newDisplayNameUser
не выдает ошибку, то JSON декодируется нормально. В таком случае причиной отсутствия эха может быть то, что$jsonOBJ->newDisplayNameUser
имеет пустое значение. Попробуйте сделатьvar_dump($jsonOBJ->newDisplayNameUser)
, это даст вам больше информации, чемecho
.