Я новичок, вроде как новичок в кодировании, и у меня возникла проблема с моим ответом ajax json. Ответ работает нормально, но когда я пытаюсь предупредить мой объект json в поле успеха, он дает мне неопределенное значение.

Вот мой вызов ajax

$.ajax({
            url:"ajaxHandlers/createUser.php",
            method: "POST",
            data:{newUser:newUser, createPassword: createPassword, createEmail:createEmail},
            success:function(data)
            {    

              alert(data);
            }
          });

Вот php-файл, который я вызываю createUser.php

<?php

$newUser = $_POST['newUser'];
$createPassword = $_POST['createPassword'];
$createEmail = $_POST['createEmail'];

$array = [
    "user" => $newUser
];
echo json_encode($array);
?>

И когда я делаю предупреждение о данных, я получаю следующий ответ

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="customcss/mystyle.css">
    <title>Todo V2</title>
  </head>
  <body>
  {"error":"test"}

Также, когда я смотрю в сети, у меня есть следующий ответ

{"error":"test"}

И когда я пытаюсь предупредить объект, как это

data.error

Я получил неопределенный.

Что я делаю не так?

Благодарен за любую помощь Ваш / Джули

0
Julmust1989 1 Янв 2020 в 21:28
Покажи свою часть php
 – 
Dlk
1 Янв 2020 в 21:33
Возможно, попробуйте удалить кавычки из «ошибки»
 – 
O.S.Kaya
1 Янв 2020 в 21:35
Из моего массива в php?
 – 
Julmust1989
1 Янв 2020 в 21:36
Используйте это в форме html и посмотрите, остается ли пустой <div id="result"></div>, и добавьте это в функцию успеха ajax $('#result').html(data.error); рядом с предупреждением или измените с предупреждением.
 – 
Dlk
1 Янв 2020 в 21:39
Я попробовал, и ничего не получил в результате div ....
 – 
Julmust1989
1 Янв 2020 в 21:43

1 ответ

заменить createUser.php этим:

$createPassword = $_POST["createEmail"];
$createEmail    = $_POST["createPassword"];
$newUser["user"] = $_POST;
echo json_encode($newUser);

И убедитесь, что в коде ajax ключ newUser: имеет значение.

-1
Şıvan 1 Янв 2020 в 22:04
Для чего это ? отображать имя пользователя как ответ об ошибке? если нет необходимости в вызове ajax, просто echo $newUser = $_POST["user"] ; в html-части вы получите тот же результат при отправке.
 – 
Dilek
1 Янв 2020 в 22:31
Я не вижу лучшего решения в вашем ответе, его коды совершенно неверны во всех смыслах. NVM
 – 
Dilek
1 Янв 2020 в 22:44
Ok. Каково решение?
 – 
Şıvan
1 Янв 2020 в 23:16