如何回声提醒?

问题描述 投票:0回答:1

我想在插入数据前使用java脚本提醒。我可以将数据插入到数据库中,但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);
    ?>
php
1个回答
2
投票

你使用Ajax请求URL。

你正在使用Ajax请求URL。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);
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.