我有一个 PHP 函数服务器端,如下所示:
function isHandleAvailable($displayname) {
$res = user::getRow(
"SELECT `id` FROM `users` WHERE `displayname` = :displayname",
array(':displayname' => $displayname)
);
if ($res) {
$res = 'Got a row!';
} else {
$res = 'No row :(';
}
echo $res;
}
它用于确定网站上是否已使用显示名称。此函数由以下 JavaScript 调用:
function checkHandleAvailability(displayName, callback) {
$.ajax({
type: 'POST',
url: '/users/isHandleAvailable',
data: { displayname: displayName }
})
.done(function(data, textStatus, jqXHR) {
isHandleAvailable = data;
})
.fail(function() {
isHandleAvailable = false;
})
.always(function() { callback(); });
}
但是,data
andjqXHR.responseText
都是空字符串。我知道 PHP 代码正在工作,因为我将它放入基本test.php
页面并将预期的字符串echo
编辑到屏幕上。
为什么结果没有返回到.done
函数中?