使用jquery和php进行Ajax验证,其中php文件也用作另一个页面

使用jquery和php进行Ajax验证,其中php文件也用作另一个页面,php,jquery,ajax,Php,Jquery,Ajax,因此,我使用AJAX jQuery进行了验证,当我使用另一个文件托管AJAX将检查的PHP验证部分时,一切都很好,然后当我将它传输到必要的文件时,它也被用作我站点中的页面,一切都停止了工作 请注意,由于该文件在站点中使用,因此它充满了样式、脚本、大量echo等。虽然我确实使用了if来隔离ajax将使用的PHP验证,但它仍然不起作用,尽管当我提醒成功数据时,它充满了CSS样式调用和我需要的返回值 有没有解决这个问题的办法,或者我真的必须使用一个单独的文件来保存这个验证代码,我正试图避免使用这个验证

因此,我使用AJAX jQuery进行了验证,当我使用另一个文件托管AJAX将检查的PHP验证部分时,一切都很好,然后当我将它传输到必要的文件时,它也被用作我站点中的页面,一切都停止了工作

请注意,由于该文件在站点中使用,因此它充满了样式、脚本、大量echo等。虽然我确实使用了if来隔离ajax将使用的PHP验证,但它仍然不起作用,尽管当我提醒成功数据时,它充满了CSS样式调用和我需要的返回值

有没有解决这个问题的办法,或者我真的必须使用一个单独的文件来保存这个验证代码,我正试图避免使用这个验证代码,因为我试图拥有尽可能有限的文件数量

Ajax代码:

$("#formadder").click(function() {
    var formname = $('#formname').val();
    if(formname == "") {
        alert("Input Form Name!");
        return false;
    }
    $('#form-feedback').html('<img src="../images/ajax-loader.gif"/>');
    $.ajax({
        url: '../createForm.php',
        type: 'POST',
        data: "formname="+ formname,
        dataType: "json",
        success: function(d) {
            alert(d);
            if(d.stat == "1") {
                $('#form-feedback').html(d.error).css('color','red');
                return false;
            }
            else {
                $('#form-feedback').html('Form Created!').css('color','green');
                window.location.reload();
            }
        }
    });
});
$(“#格式编辑器”)。单击(函数(){
var formname=$('#formname').val();
如果(formname==“”){
警报(“输入表单名称!”);
返回false;
}
$('#表单反馈').html('');
$.ajax({
url:“../createForm.php”,
键入:“POST”,
数据:“formname=“+formname,
数据类型:“json”,
成功:功能(d){
警戒(d);
如果(d.stat==“1”){
$('#表单反馈').html(d.error).css('color','red');
返回false;
}
否则{
$('#表单反馈').html('formcreated!').css('color','green');
window.location.reload();
}
}
});
});
PHP代码createForm.PHP是您典型的页面doctype,包括样式和脚本、主体标记,我认为整个包都会干扰AJAX调用

成功警报的内容包括:

试验



test是我希望通过AJAX检索的示例输出,但由于某些原因,doctype也会返回。这次我从AJAX中删除了JSON。

这是因为用于构建页面的html也被发送到AJAX调用。我认为最好将此逻辑保存在一个单独的PHP文件中,但是如果您真的想将其存储在一个文件中,那么请确保检查$\u POST数组是否为空,如果为空,则提供页面Html、CSS,如果不是,则进行验证并返回响应

if( empty($_POST) ) {
// html, css and js here 
}
else 
{
   // php validation here 
}
你有你有尽可能多的文件,这并不重要。在编程中搜索什么是抽象


如果您想验证,那么您只需检查是否正在接收php中的帖子。您可以只在服务器端或客户端使用验证,而不是在服务器端和客户端都使用验证。

您可以发布php和ajax代码吗?greati以为我会对包含的文件执行if,但现在我看到html部分也返回了。QQ将ajax的数据类型更改为json是一项要求,还是我可以删除该数据类型?谢谢,这取决于您返回的内容。从代码中,您似乎返回了
json
。很难说,因为你还没有发布你的验证代码。更多的是1或0,还有一条错误消息,上面写着“你不能那样做”。我猜json是用于数据加密的?如果你把它拿出来,我猜
d.stat
不会起作用。因为d不会被解析成一个属性为
stat
的对象,我知道我一直认为它是某种加密,因此使用了encode这个词。谢谢,实际上,在服务器端验证可能总是必要的。有一些简单的方法可以关闭客户端验证。客户端验证由您自己创建(O.O)。只需删除if statement并将ajax请求发送到服务器。但是客户端更好,对服务器的处理请求更少:D。只需检查您需要的字段是否已填写。小心mysql的操作。
if( empty($_POST) ) {
// html, css and js here 
}
else 
{
   // php validation here 
}
Is there any work around this problem or do i really have to use a separate file just to hold this validation code which **im trying to avoid since im trying to have as limited number of files as possible.**