javascript - $ajax 成功响应打印 HTML 页面

标签 javascript php jquery ajax

我的 JS 函数中有这段代码,我需要调用一个 PHP 文件“valiadte-attrib-form.php”,这个 PHP 脚本返回一个变量。 这是我的 HTML 页面:

 <form method="post" id="form1" name="form1" action="<?php echo $editFormAction; ?>">

<script>
   $(function() {   
     $('#form1').submit(function() {
        return validateForm();
     });
   });
</script>

这是我的 JS 代码:

 function validateForm() {
    var form = $("#form1");
    $.ajax({
        context: form,
        type: 'GET',
        url: 'validate-attrib-form.php',
        data: params,
        success: function(response){  
            alert(response);
            result=response;  
            return result;
        }.bind(form)
    });

这是我的 PHP 代码:

    <?php  
     echo "false";

但我的问题是当我看到 alert(response); 我看到完整的 HTML 代码如下:

<!doctype html>
<html lang="es">
<head>  
   <meta charset="iso-8859-1"/> 
   <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"/>
.....
.....

我的代码有什么问题?我需要 alert(response) 显示 false 而不是 HTML 代码。 感谢您的帮助!

最佳答案

您收到服务器错误,例如 400 或 500 系列错误...有时,根据服务器的配置方式,这可能看起来像是重定向,此时您可能会看到完整的 HTML 页面没有任何错误代码,例如网站的主页,如果重定向是为了抑制最终用户的错误。

我对您的 $.ajax 调用的结构也有点困惑。您可能希望将其更改为以下内容:

function validateForm() {
    var form = $("#form1");
    $.ajax({
        /* context: form, //not sure you need that */
        type: 'GET',
        url: 'validate-attrib-form.php',
        data: form.serializeArray(), /* turn the form data into an array */
        dataType: "text",
        success: function(response){  
            alert(response);
            /* do other stuff... */
        }
    });
}

$("#form1").on("submit", function(ev) {
    ev.preventDefault();
    validateForm();
};

如果您尝试对端点进行 AJAX 调用,则无需指定表单 action 属性。

关于javascript - $ajax 成功响应打印 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074186/

相关文章:

javascript - 返回页面加载?

php - 如何使用 jQuery DatePicker 设置结束日期从开始日期加一

javascript - 选择下拉菜单时选中复选框

javascript - onchange 集合出现错误而不是函数

javascript - 如何使用angular2+在数据表中添加空数据行?

php - foreach()不是数组PHP中的 "for eaching"项

php - 将嵌套数组转换为 laravel 中的特定选择框

php - 将 Blade 模板保存到数据库而不是文件

javascript - 使用 jQuery 删除某个元素下面的元素

javascript - 按多个值对 ul 进行排序