我的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";
但我的问题是,当我看到警告(响应); 时,我看到完整的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"/>
.....
.....
我的代码有什么问题?我需要警告(响应)显示 false 而不是HTML代码。 谢谢你的帮助!
答案 0 :(得分:0)
您收到服务器错误,如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
属性。