我不太了解ajax及其功能。我想通过ajax调用从另一个php页面调用一个php页面,但它不起作用。我只是希望显示警告,该警报位于" delete.php"当我按下" index.php"。
中的删除按钮时dbconnect.php
<?php
$conn = new mysqli($host, $user, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
的config.php
<?php
$host="192.168.20.171";
$user="production";
$password="******";
$database="*****";
?>
的index.php
<html>
<?php
include 'config.php';
include 'dbconnect.php';
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<table border="1">
<tr>
<th>categoryId</th>
<th>category</th>
<th>Operations</th>
</tr>
<?php
$sql_query = "select category_id,category from cscart_category_descriptions;";
$result = $conn->query($sql_query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<tr><td>'.$row["category_id"].'</td><td>'.$row["category"].'</td><td><button class="deletedata" data-id="'.$row['category_id'].'">Del</button></td></tr>';
}
}
else {
echo "0 results";
}
?>
<script>
$(document).on('click','.deletedata',function(){
id = $(this).attr('data-id'); // Get the clicked id for deletion
$.ajax({
type:'GET',
url:'delete.php',
data:{delete_id:id},
success:function(response){
if (response == 'ok') {
alert("succes");
} else {
alert("fail");
}
}
})});
</script>
</table>
</html>
delete.php
<?php
include 'config.php';
include 'dbconnect.php';
if($_GET('delete_id'))
{
echo"<script>alert('jjjj');</script>";
}
?>
答案 0 :(得分:1)
您在delete.php
文件中回显的内容是ajax的response
返回的内容。
所以在这段代码中:
$.ajax({
type:'GET',
url:'delete.php',
data:{delete_id:id},
success:function(response){
if (response == 'ok') {
alert("succes");
} else {
alert("fail");
}
}
})});
回复为<script>alert('jjjj');</script>
,这会让您的代码输入其他内容并提醒fail
。
您需要做的是在ok
中回显delete.php
,然后在成功时提醒jjjj
。那将是:
//delete.php
include 'config.php';
include 'dbconnect.php';
if($_GET('delete_id'))
{
echo "ok";
}
你的ajax电话会是类似的,唯一不同的是你在成功时提醒你。
$.ajax({
type:'GET',
url:'delete.php',
data:{delete_id:id},
success:function(response){
if (response == 'ok') {
alert("jjjj");
} else {
alert("fail");
}
}
})});
通常,当您执行ajax调用并获得响应时,您的下一步操作将取决于收到的响应,因此通常您会遇到类似alert(response)
的内容(或使用&#的任何其他操作) 39;已从服务器收到),而不是做静态警报。
在开始使用之前,您应该考虑更多地了解AJAX。
答案 1 :(得分:1)
当您向GET
发出delete.php
请求时,您可以将该script
从该php发送到您当前的脚本,但您必须附加它:
success:function(response){
// here response is the script tag from delete.php
$(document.head).append(response);
}
答案 2 :(得分:-1)
// delete.php
_
无论你在php页面中回显什么,都会在ajax响应中回复你。