我正在使用jquery validate插件将数据从表单发送到mysql数据库。验证工作正常,但单击按钮后,数据不会提交到数据库。但没有产生任何响应或错误。我认为错误是在ajax部分。
下面的文件是db_connect.php,它执行.both echo正在运行
if ($scope.userAccount.id)
appFactory.userAccounts.update({ id: $scope.userAccount.id }, $scope.userAccount).$promise.then(onSuccess).catch(onError);
else
appFactory.userAccounts.create({ id: null }, $scope.userAccount).$promise.then(onSuccess).catch(onError);
index.html - 显示div错误下面的一些代码,但其中的内容为hi2。我不知道为什么它有内容hi2。我用过echo“hi2”;在db_connect.php [末尾给出的代码]但没有将它返回到ajax。
<?php
echo "hello";
/* Database connection start */
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "upscfpyl_test";
$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
echo "hi";
//exit();
}
else{
echo "hi2";
}
?>
Ajax部分:
<div id="error"></div>
<form id="signupForm" method="post" action="#">
<input type="submit" class="btn btn-primary" value="Sign Up" id="button1" name="btn-save">
</form>
register.php - 提交到数据库
$.ajax({
type: 'POST',
dataType: 'text',
url: 'js/php/register.php',
data: {
name1: name,
email1: email,
mobile1: mobile,
gender1: gender,
password1: passwords
},
beforeSend: function() {
$("#error").fadeOut();
document.getElementById("button1").disabled = true; // this works
},
success : function(response) {
if(response==1)
{
$("#error").fadeIn(1000, function()
{
$("#error").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> Sorry email already taken !</div>');
document.getElementById("button1").disabled = false;
});
}
else if(response=="registered")
{
window.location = "dashboard.html";
}
else {
$("#error").fadeIn(1000, function()
{
$("#error").html('<div class="alert alert-danger"><span class="glyphicon glyphicon-info-sign"></span> '+response+' !</div>');
document.getElementById("button1").disabled = false;
});
}
}
});
答案 0 :(得分:2)
您可以打开浏览器控制台查看日志。
如果dataType是JSON,则表示您的服务器正在返回json。但事实并非如此https://api.jquery.com/jQuery.ajax/
请尝试使用此代码进行数据序列化:
$("#your_form_id").submit(function(e){
e.preventDefault();
var datas = $(this).serialize();
$.ajax({
data: datas,
// Or this
data: 'key1=' + value1 + '&key2=' + value2 + '&key3=' + value3,
// to match your server response
dataType: "text"
// Error warning
.fail(function() {
alert( "error" );
})
});
});
使用表单的验证码,我们可以更好地帮助您