Как эхо-оповещение? - PullRequest
       0

Как эхо-оповещение?

0 голосов
/ 09 мая 2020

Я хочу использовать оповещение сценария java в php перед вставкой данных. Я могу вставлять данные в базу данных, но echo не выполняет свою работу. Это может быть простая ошибка, но я просто не могу ее заметить: (

/// Java script
/// send data for insertion
$.get("tute7_add.php",{unit_code:unit_code,unit_name:unit_name,lecturer:lecturer,semester:semester}).done(function(data){
                    alert('You have added a unit successfully!');
                });

tute7_add. php

<?php
            // I Can't send alert!!
            echo "<script type='text/javascript'>
                         alert('Don\'t have a record');
                    </script>";

            $code= $_GET['unit_code'];
            $name= $_GET['unit_name'];
            $lecturer= $_GET['lecturer'];
            $semester= $_GET['semester'];

            $query = "INSERT INTO units (`unit_code`,`unit_name`,`lecturer`,`semester`) VALUES ('$code','$name','$lecturer','$semester');";
            $mysqli->query($query);
    ?>

1 Ответ

2 голосов
/ 09 мая 2020

Вы запрашиваете URL, используя Ajax.

Переменная data будет содержать фрагмент HTML, включая элемент скрипта.

Вы ничего не делаете со значением data. Вы просто игнорируете его.


Обычно, имея дело с Ajax, вы возвращаете необработанные данные в формате, подобном JSON, вместо использования HTML. Затем вы можете обработать это с помощью кода на стороне клиента.

например,

header("Content-Type: application/json");
if (1) { # Use a real condition here
    echo json_encode([ "error" => "Don't have a record" ]);
    exit;
} else {
    # do database stuff and then…
    echo json_encode([ "success" => "Something something" ]);
    exit;
}

вместе с:

$.get("tute7_add.php", {
  unit_code,
  unit_name,
  lecturer,
  semester,
}).done(function (data) {
  if (done.success) {
    alert("You have added a unit successfully!");
  } else {
    alert(done.error);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...