我正在使用jQuery/Ajax,我需要PHP发送成功,错误消息的形式接收状态。我做了一些谷歌搜索,但我仍然无法收到任何消息。我正在使用json_encode。无法接收从php到Ajax的成功消息,jQuery ||求解
JS代码:
$(function()
{
$("#logInBtn").click(function(e)
{
var array = [];
var userName = $("#logIn").val();
var passWrd = $("#password").val();
var flag = false;
alert("Log In alert");
if(userName == '' || passWrd == '')
{
alert("Username or password cannot be empty");
flag = false;
}
else
{
array.push(userName);
array.push(passWrd);
alert(array);
flag = true;
}
if(flag == true)
{
alert("going for ajax");
$.ajax({
url:"http://localhost/login.php",
data:
{
userName: array[0],
passWrd: array[1],
},
type:"POST",
dataType:"json",
success:function(suc){
alert("suc");
alert(suc);
console.log(suc);
},
error: function(err)
{
alert("err");
alert(err);
console.log(err);
}
});
}
else
{
alert("form error");
}
alert("final check here");
});
}
else
{
alert("form error");
}
alert("final check here");
});
}
);
PHP代码:
<?php
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 01 Jan 2016 00:00:00 GMT');
// The JSON standard MIME header.
header('Content-type: application/json');
$con=mysql_connect("localhost","root", "");
mysql_select_db("monkey",$con);
$name = $_POST['userName'];
$pass = $_POST['passWrd'];
$query="INSERT INTO logInCheker(login,password) VALUES('$name','$pass');";
if(mysql_query($query))
{
$response_array['status'] = 'success';
echo json_encode($response_array);
}
else
{
$response_array['status'] = 'error';
echo json_encode($response_array);
}
?>
[PS:两个JS和PHP代码是虚设,尤其是PHP代码。我没有在服务器端使用它。 ] 在此先感谢。
更新: DB正在更新通知。每次我点击登录按钮,DB获取一行数据,但我的jQuery说它已经在错误函数中打了。这是我收到的对象。
解决方案:
添加如下头解决了这个问题
header("Access-Control-Allow-Origin: *");
你阻止提交任何形式或改变点击登录按钮网址?你看起来并不像。 –
你能告诉你接收了什么,问题在哪里? –
@lbtehaz你有没有得到它的工作? – bassxzero