我正在尝试通过ajax请求发送表单值以存储在数据库中,但该文件不是通过ajax调用的。在通过按钮提交时,它会转到 servr.js文件,然后通过ajax将其存储到数据库中。
<button id="submit" class="btn btn-primary" type="submit" onclick="myFunction()" >Create an Account</button>
和js文件代码如下。
function myFunction(){
var name = document.getElementById("firstName").value;
var lname = document.getElementById("lastName").value;
var mail = document.getElementById("email").value;
var password =document.getElementById("password").value;
var confpass= document.getElementById("passwordConfirmation").value;
if(password != confpass)
{
alert ('password doesnot match!');
}
// var form_data = $('#edit_user').serialize();
var datastring= 'name1=' + name + 'name2=' + lname +'email='+mail+ 'pass='+password;
$.ajax({
url: "learnapi.php",
type: "post",
dataType: "json",
data: {type: "signup", datastring:datastring },
ContentType: "application/json",
success: function (response) {
alert(JSON.stringify(response));
},
error: function (err) {
alert(JSON.stringify(err));
}
});
};
它转到另一个执行插入功能的php文件。但是当我通过inspect元素(Q)检查时,这个文件没有被调用。 的 learnapi.php
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","");
mysql_select_db("learnapp");
if(isset($_POST['type']))
{
$res = [];
if($_POST['type'] =="signup"){
$name = $_POST ['name1'];
$lname = $_POST['name2'];
$passW = $_POST['pass'];
// $passW1 = $_POST['Pass1'];
$mail = $_POST ['email'];
var_dump($_POST);
$query1 = "insert into signup(firstname,lastname,password,email) values('$name','$lname','$passW','$mail')";
$result1 = mysql_query($query1);
if($result1)
{
$res["flag"] = true;
$rest["message"] = "Data Inserted Successfully";
}
else
{
$res["flag"] = false;
$rest["message"] = "Oppes Errors";
}
}
else{
$res["flag"] = false;
$rest["message"] = "Invalid format";
}
echo json_encode($rest);
}
?>
我试过,但我的ajax请求没有被调用。我在这个
中错过了什么答案 0 :(得分:0)
data: {type: "singup", ... }
而不是
data: {type: "signup", ... }