如何在ajax函数中使用php文件中的json数据
我正在尝试创建一个验证用户输入数据的登录页面。如果数据库中的“用户名”和“密码”不匹配,他将收到警告。 说到这个,我完全是个新手,所以我现在的代码是不同教程的组合 我的signin.php如下所示:如何在ajax函数中使用php文件中的json数据,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试创建一个验证用户输入数据的登录页面。如果数据库中的“用户名”和“密码”不匹配,他将收到警告。 说到这个,我完全是个新手,所以我现在的代码是不同教程的组合 我的signin.php如下所示: header('Content-Type: application/json') $data = array(); // array to pass back data if(!empty($_POST["action"])) { if($_POST["action"] == "s
header('Content-Type: application/json')
$data = array(); // array to pass back data
if(!empty($_POST["action"]))
{
if($_POST["action"] == "signin")
{
...all the SQL code here...
if(!empty($result))
{
foreach ($result as $row)
{
...some SQL code here...
$data["success"] = true;
$data["message"] = "Success!";
}
}
else
{
$data["success"] = false;
$data["message"] = "Error!";
}
echo json_encode($data);
}
}
现在,我希望在jquery提交函数中使用此json数据,该函数使用ajax从signin.php获取数据:
<script>
$("#login-form").submit(function(event) {
$.ajax({
type : 'POST',
url : 'signin.php',
data : { 'action': 'signin' },
dataType : 'json'
}).done(function(data) {
console.log(data.success);
if(!data.success)
{
alert("ERROR");
}
else if (data.success)
{
alert("SUCCESS");
}
});
event.preventDefault();
});
</script>
$(“#登录表单”).submit(函数(事件){
$.ajax({
键入:“POST”,
url:'sign.php',
数据:{'action':'signin'},
数据类型:“json”
}).完成(功能(数据){
console.log(data.success);
如果(!data.success)
{
警报(“错误”);
}
else if(data.success)
{
警惕(“成功”);
}
});
event.preventDefault();
});
和。使用控制台.log(数据)
可以查看整个对象的结构。我很确定你应该是data['success']
而不是data.success
。在整个对象上运行控制台日志应该可以帮助您清除这些问题。console.log(数据)没有给我提供任何我建议使用Firebug之类的开发工具进行调查的信息。应该会收到来自Ajax调用的响应,这应该显示在“网络”选项卡中。@Jeppe您到底在寻找什么?您是否有sql代码,或者这就是您所需要的?再次查看代码时,数据不会返回任何内容,因为php代码没有执行任何操作。另外,除了action='sign'之外,您不需要通过ajax函数传递任何数据。php代码从未从表单中获取任何登录数据,因为它没有被传递。使用jQuery的$('#formID').serialize()
可以做到这一点。使用console.log(data)
可以查看整个对象的结构。我很确定你应该是data['success']
而不是data.success
。在整个对象上运行控制台日志应该可以帮助您清除这些问题。console.log(数据)没有给我提供任何我建议使用Firebug之类的开发工具进行调查的信息。应该会收到来自Ajax调用的响应,这应该显示在“网络”选项卡中。@Jeppe您到底在寻找什么?您是否有sql代码,或者这就是您所需要的?再次查看代码时,数据不会返回任何内容,因为php代码没有执行任何操作。另外,除了action='sign'之外,您不需要通过ajax函数传递任何数据。php代码从未从表单中获取任何登录数据,因为它没有被传递。使用jQuery的$('#formID').serialize()
可以做到这一点。使用console.log(data)
可以查看整个对象的结构。我很确定你应该是data['success']
而不是data.success
。在整个对象上运行控制台日志应该可以帮助您清除这些问题。console.log(数据)没有给我提供任何我建议使用Firebug之类的开发工具进行调查的信息。应该会收到来自Ajax调用的响应,这应该显示在“网络”选项卡中。@Jeppe您到底在寻找什么?您是否有sql代码,或者这就是您所需要的?再次查看代码时,数据不会返回任何内容,因为php代码没有执行任何操作。另外,除了action='sign'之外,您不需要通过ajax函数传递任何数据。php代码从未从表单中获取任何登录数据,因为它没有被传递。使用jQuery的$('#formID').serialize()
可以做到这一点。