只允许通过表单提交访问php动作,但是在使用ajax调用时

时间:2013-12-17 23:39:38

标签: javascript php jquery ajax forms

我有一个删除其中的评论的表单。

只提供表单提交时才能查看执行php操作的页面我做了一个基本的

if (isset($_POST['submit-delete'])) {
     // carry out delete
}

这很好用,但是我使用ajax来重新加载页面。

响应与我在其他地方使用的响应相同:

$(document).ready(function(){
$(".delrepcomment").submit(function(){

$.ajax({
type: "POST",
url: "process/deletecomment.php",
data: $(".delrepcomment").serialize(),
dataType: "json",
success: function(response){
    if (response.commentDeleted === true) {
        $('#successdisplay').fadeIn(1000),
        $('#successdisplay').delay(2500).fadeOut(400);
    }
    else {
        $('.delrepcomment').after('<div class="error">Something went wrong!</div>');
    }
}
});
    return false;
    });
});

但这不起作用,除非我删除支票以查看表格是否已提交。

围绕这个最好的方法是什么?我想保留对js被关闭或任何直接访问尝试的提交表单的检查。

感谢。

1 个答案:

答案 0 :(得分:0)

您应该发布脚本工作所需的数据。在您的情况下,您必须使用“submit-delete”作为键和任意值发布键值对(除非您在代码中稍后检查该值)。

另一方面,PHP将使用的HTTP方法存储在$_SERVER['REQUEST_METHOD']中,在您的情况下,这将是“POST”。