gpt4 book ai didi

javascript - 使用 php 和 jquery 进行 AJAX 表单提交

转载 作者:行者123 更新时间:2023-12-02 17:52:46 24 4
gpt4 key购买 nike

我已经查看了这里我能找到的所有内容,但我就是不明白为什么我不能完善这段代码。我想做的是允许用户删除他们在我的网站上发布的内容,而无需刷新页面。该表单将被传递到一个 php 文件,该文件将修改我的 MySQL 数据库。我是 ajax 新手,并且只接触过 PHP 很短一段时间。

形式:

<form class='status_feedback' id='delete_status' onsubmit='delete_status()' action=''>
<input type='hidden' name='status_id' id='status_id' value='$status_id'/>
<input type='submit' value='X'/>
</form>

delete_status()

function delete_status(){
$.ajax({
type: "POST",
url: "/scripts/home/php/delete_status.php/",
data: status_id,
success: function() {
//display message back to user here
}
});
return false;
}

delete_status.php

<?php
$con=mysqli_connect("localhost","USER","PASSWORD","DB");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$status_id = $_POST['status_id'];
mysqli_query($con,"UPDATE status SET visibility = 'hidden' WHERE id = $status_id");



?>

此时,当我调用 delete_status() 函数时,我的页面会刷新并添加 ?status_id=194 (当我点击状态 #194 时) )到最后或我的网址。

任何帮助都会很棒。我已经研究了好几天了。

最佳答案

稍微改变一下你的 HTML、Ajax 和 php。

HTML

Add this code:

<body>

<form class='status_feedback' id='delete_status' >
<input type='hidden' name='status_id' id='status_id' value='$status_id'/>
<input type='button' id='x_submit' value='X' />
</form>

<script>
$('#x_submit').on("click",function(){

var status_id= $('#status_id').val();

//Delete the alert message if you want.
alert("Check your status id :"+status_id);

$.ajax({
type: "GET",
url: "/scripts/home/php/delete_status.php?",
data: {status_id:status_id},
dataType:'JSON',
success: function(json) {
//display message back to user here
alert(json[0].response);
}
});

});
</script>

PHP:

   <?php
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Methods: GET, POST');
header('Content-type: application/json');

$con=mysql_connect("localhost","USER","PASSWORD","DB");
// Check connection
if (mysql_connect_errno())
{
echo "Failed to connect to MySQL: " . mysql_connect_error();
}

$status_id = $_GET['status_id'];

$result = mysql_query("UPDATE status SET visibility = 'hidden'
WHERE id = '$status_id'");

if(! $result )
{
$data[]=array('response'=>"Unable to insert!");
}
else

{

$data[]=array('response'=>"Data successfully inserted into the database!");

}

$json_encode = json_encode($data);

print("$json_encode");

?>

希望它能发挥作用。

关于javascript - 使用 php 和 jquery 进行 AJAX 表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21212632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com