$('#registerForm').submit(
function()
{
event.preventDefault();
callAjaxSubmitMethod(this);
}
);
function callAjaxSubmitMethod(form)
{
$.ajax({
type: "POST",
url: "lib/registration_validate.php",
data: $("#registerForm").serialize(),
dataType: 'json',
success: function(response)
{
console.log("cominggggg");
alert("s"+response.status);
},
error:function(response)
{
alert("e"+response.status);
},
complete:function(response)
{
console.log("Completed.");
}
});
}
这就是我将数据发送到我的php页面的方式。
<?php
include 'configdb.php';
session_start();
global $connection;
echo "oops";
if(isset($_POST['submit']) && $_POST['email']!='' && $_POST['password']!='')
{
$email= $_POST['email'];
$sql1 = "SELECT * FROM Users WHERE emailID = '$email'";
$result1 = mysqli_query($connection,$sql1) or die("Oops");
$response = array();
if (mysqli_num_rows($result1) > 0)
{
$response['status']='Email Already Exists';
echo json_encode($response);
exit;
}
}?>
我正在处理重复的电子邮件注册。如果我在我的chrome中运行此代码,我可以在网络标签中看到php
。我可以在控制台中看到completed
,在警报中看到e200
。
在我的mozilla浏览器中,我没有得到任何控制台字符串,警报。我也不会在Net标签中获得php page call
。
我刚刚清除了缓存。所以它也不是来自缓存。由于我的mozilla出现localStorage
错误,我清除了out of memory
。
我甚至不理解这种行为。不知道如何进一步调试。
答案 0 :(得分:0)
我改变了你的代码,似乎chrome接受了你的方式,firefox没有。
所以不要这样:
$('#registerForm').submit(
function()
{
event.preventDefault();
callAjaxSubmitMethod(this);
}
);
这样做:
$('#registerForm').on('submit', function(event) {
event.preventDefault();
callAjaxSubmitMethod(this);
}
);
注意我还添加了事件参数,你错过了。