【发布时间】:2012-03-22 00:46:13
【问题描述】:
我是 PHP 和 Javascript 开发的新手,我正在尝试执行此代码但它失败了
<?php
if(isset($_POST['username']) and isset($_POST['password'])) {
// do logic for logining in (usually query your db)
if ($_POST['username'] == 'test' && $_POST['password'] == 'test') {
$data['success'] = true;
$data['message'] = 'Login succesful';
} else {
$data['success'] = false;
$data['message'] = 'Login failed';
}
// return json
echo json_encode($data);
}
?>
这里是 Javascript 文件
<script>
$(document).ready(function() {
alert("dddd");
$('#loginForm').submit(function() {
$('#output').html('Connecting....');
var postTo = 'http://localhost/Login/login.php';
alert(postTo);
$.post(postTo,{username: $('[name=username]').val() , password: $('[name=password]').val()} ,
function(data) {
if(data.message) {
alert(data);
} else {
$('#output').html('Could not connect');
}
},'json');
return false;
});
});
</script>
请帮忙,在此先感谢您!
【问题讨论】:
-
您能否提供有关它如何失败的更多信息?你得到一个javascript错误吗? data.message 是否会收到警报?
-
它显示 Connecting.... 字符串,并且不提醒 (data.message)。
-
但是当我把 $('#output').html('Connecting....');在 $.post 之后,它会被执行
-
如果我不定义 $data 会不会出错? ,我尝试删除所有 if 条件,只删除 $data['success'] = true; $data['message'] = 'Login succesful';,它会在浏览器中显示创建的 JSON,也就是我只从浏览器尝试的时候
-
@user1284732,是的,这可能是问题所在。没有定义就不能使用变量。
标签: php javascript jquery javascript-events