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