我不知道我做錯了..jQuery的AJAX與PHP通過JSON返回(登錄形式)
我有2個文件: 的login.php 的index.php
<script type="text/javascript">
$(document).ready(function(){
$('#btnLogin').bind('click', loginToWebsite);
});
function loginToWebsite(){
$.ajax({
url: "login.php",
type: "POST",
data: "username=" + $("#username").val()+"&password=" + $("#password").val(),
datatype:"json",
success: function(status)
{
if(status.success == false)
{
$("#loginform").effect("shake", {times:2}, 100);
$("#login_message")
.attr('class', 'ui-state-error')
.html('<strong>ERROR</strong>: Your details were incorrect.<br />');
}
else {
$("#login_message")
.attr('class', 'ui-state-highlight')
.html('<strong>PERFECT</strong>: You may proceed. Good times.<br />');
}
}
});
}
</script>
登錄.PHP GILE看起來是這樣的:
<?php
if (isset($_POST['username'])&& isset($_POST['password']))
{
if (login ($_POST['username'], $_POST['password'])){
$data = array("success" => true);
echo json_encode($data);
}
else {
$data = array("success" => false);
echo json_encode($data);
}
}?>
但我得到了一個未定義回從login.php中(通過JSON)
如果我試圖提醒(status.success)它打印undefined
而且我可以看到我的頭部,用戶名和密碼正在發送到login.php頁面。
PHP函數 登錄()在其他地方實現(返回true或false)
難道status.success正在評估作爲一個字符串,而不是作爲一個布爾值? – PFY 2012-03-13 19:33:06
嗯 - 我試圖只是排除故障,只是爲了提醒login.php的輸出 - 而且還說未定義。 我也試過把它寫成: $ data = array(「success」=>「something」); 它仍然不確定:S – Pzoco 2012-03-13 22:57:54