0

我在 jquery 中使用下面的代码,但是我的页面本身重新加载,我不知道我在哪里犯了错误。

var newstr = $.trim($('#umail').val());

newstr 保存电子邮件地址

$.post("coding/unsub.php",{email:newstr},function(result){
$("#d_result").html(result);
});

我有

<span id="d_result"></span>

显示结果

我的 php 代码是

<?php
include ("../includes/dbcon_.php");
$unsub_sql = mysql_query("Delete FROM TblNewsLetter WHERE Email = '$_GET[email]'");
if (!$unsub_sql)
{
    $ds_result = "<p style='font-size:200%;color:red;'>Some Error Occurred! Try Later.</p>";
}
else
{
    $ds_result = "<p style='font-size:200%;color:green;'>Successfully Unsubscribed</p>";
}
mysql_close($con);
echo $ds_result;
?>
4

3 回答 3

2

您在评论中说您从表单提交处理程序执行 Ajax 调用。您需要通过使用事件对象的.preventDefault()方法false从处理程序返回来防止默认提交行为:

$("#yourFormSelectorHere").submit(function(e) {
    var newstr = $.trim($('#umail').val());

    $.post("coding/unsub.php",{email:newstr},function(result){
        $("#d_result").html(result);
    });

    e.preventDefault();
    // and/or
    return false;
});
于 2012-04-20T09:24:01.590 回答
1

在你的 sql 查询中

$mail = $_GET['email'];
$query = "DELETE FROM TblNewsLetter WHERE Email = $mail";

$_GET应该改为$_POST

于 2012-04-20T09:20:23.397 回答
0

像这样使用

$unsub_sql = mysql_query("Delete FROM TblNewsLetter WHERE Email = '".$_POST['email']."'");
于 2012-04-20T09:22:47.680 回答