我在html中提交一个表单
<form id="register" onsubmit="getRegFormErr()" method="post">
<label for="username">Username</label>
<input id="username" type="text" name="username">
现在在register。php文件中,如果出现问题,我将返回
if (!isset($username, $password, $email, $securecode, $acctype)) {
return INVALID_FORM;
}
如何从PHP文件返回到javascript中的变量
我尝试了一点js,但不工作
function getRegFormErr() {
$.ajax({
type: "GET",
url: "php/register.php",
success: function(data, textStatus, jqXHR) {
console.log(data);
},
error: function (error) {
console.log(error);
}
});
}
谢谢你的回答
试试这个从HTML代码中删除onsubmit="getRegFormErr()"
在js代码中写如下
$('form#register').submit(function(){
$.ajax({
type: "POST",
url: "php/register.php",
data: $('form#register').serialize(),
success: function(data, textStatus, jqXHR) {
console.log(data);
},
error: function (error) {
console.log(error);
}
});
});
不确定AJAX,但假设这是正确的,并且假设定义了INVALID_FORM
,您需要输出结果。试一试:
echo INVALID_FORM;
代替:
return INVALID_FORM;
此外,在register.php
中,您应该有如下内容:
define('INVALID_FORM', 'The form was not completed');
1)您的表单是针对而不是使用ajax,由于缺乏RETURN FALSE;
和使用"POST",替换:<form id="register" onsubmit="getRegFormErr()" method="post">
:
<form id="register" onsubmit="return getRegFormErr()" method="post">
function getRegFormErr() {
$.ajax({
type: "POST", //Use POST
url: "php/register.php",
success: function(data, textStatus, jqXHR) {
console.log(data);
},
error: function (error) {
console.log(error);
}
});
return false;
}
或者(更好),使用Jquery:
<form id="register" method="post">
function getRegFormErr() {
$.ajax({
type: "POST", // Use POST
url: "php/register.php",
success: function(data, textStatus, jqXHR) {
console.log(data);
},
error: function (error) {
console.log(error);
}
});
return false;// FALSE
}
$("#register").submit(getRegFormErr);
2)使用"POST vars",替换:
if (!isset($username, $password, $email, $securecode, $acctype)) {
if (!isset($_POST['username'], $_POST['password'], $_POST['email'], $_POST['securecode'], $_POST['acctype'])) {