大家早上好,
我是一个关于Ajax的新手。 我已经有一个PHP脚本工作。 我知道我的php需要与PDO一起发展,但这是另一个问题。 但我想实现ajax以避免重新加载,因为我想学习它。
Php脚本:
<?php
session_start();
require "connect.php";
$firstName = $_POST['regFirstName'];
$lastName = $_POST['regLastName'];
$companyName = $_POST['regCompanyName'];
$email = $_POST['regEmail'];
$password = $_POST['regPassword'];
$confirmPwd = $_POST['regConfirmPwd'];
$add = mysqli_query($con,"INSERT INTO user (firstName, lastName, companyName, email, password) VALUES ('$firstName' , '$lastName', '$companyName', '$email', '$password') ") or die("Can't Insert! ");
mail($email, "Your registration has been successful, please note your registration details\n\n ID: $email\n\n Password: $password\n\n" );
$success = "Successful! <a href='../login.php'> Click Here </a> to log In.";
echo($success);
在ajax脚本下面:
$(document).ready(function(){
$("#regForm").submit(registration);
function registration(){
var regData = $("#regForm").serialize();
$.ajax({
url: "regScript.php",
type: "POST",
data: regData,
success: function(){
console.log("ok");
},
error: function(){
console.log("regData");
}
});
});
形式:
<form id="regForm" name="regForm">
<div>
<input type="text" id="regFirstName" name="regFirstName">
</div>
<div>
<input type="text" id="regLastName" name="regLastName">
</div>
<div>
<input type="text" id="regCompanyName" name="regCompanyName">
</div>
<div>
<input type="email" id="regEmail" name="regEmail">
</div>
<div>
<input type="password" id="regPassword" name="regPassword">
</div>
<div>
<input type="password" id="regConfirmPwd" name="regConfirmPwd">
</div>
<br>
<div id="errorWindowRegister">
</div>
<br>
<button type="reset" name="reset" id="rstRegister" href="#">Reset</button>
<button type="submit" name="submit" id="regButton">Register</button>
</form>
我不知道如何从Ajax检索数据到Php。 Jquery代码似乎有效,但数据没有很好地发送到Php。
如何使用Ajax检索数据并将其发送给Php?
此致 ë
答案 0 :(得分:1)
您忘了在脚本中添加分号。无论如何,您在发送表单时不会停止活动。我想你会有另一个问题。
$(document).ready(function(){
$("#regForm").submit(registration);
function registration(){
var regData = $("#regForm").serializeArray();
$.ajax({
//...
})//; Semi-colon is missing here
}) // Edit: And here extra ')' ?
});
如果您有任何错误,请添加您的控制台输出。
如果Ajax请求出现问题,以下内容应解决您的问题。我看不到你已经做过的修改。但我99%的样本会有所帮助。
$(document).ready(function(){
$("#regForm").submit( function(e) {
e.preventDefault(); // Avoid page reload
var regData = $("#regForm").serialize();
$.ajax({
url: "regScript.php",
type: "POST",
data: regData,
dataType: "html", // You want retrieve html (I guess it's the default but it's better to be explicit)
success: function(myReturnedHtml){
console.log(myReturnedHtml); // Put the result where you want
}
//...
});
});
});
答案 1 :(得分:0)
url
regScript
中$.ajax
regScript.php
的内容是什么?必须{{1}}正确。?
答案 2 :(得分:0)
您的代码应该是Ajax块中的
url: "regScript.php",
type: "POST",
data: "regData="+regData
答案 3 :(得分:0)
$(document).ready(function(){
$("#regButton").click(function()
{
var regData = $("#regForm").serializeArray();
$.ajax({
url: "regScript.php",
type: "POST",
data: regData,
success: function(){
console.log("OK");
},
error: function(){
console.log("NOT OK");
}
}) ;
});
});
HTML
<input type="button" name="submit" id="regButton" value="Register">