我無法獲得預期的結果。使用jQuery/PHP/MySQL獲得一些奇怪的結果
我有以下的jQuery腳本:
// obj is the return result of another query
jQuery.post("mypath/include/jquery_bll.php", { instance: 'controllAccess', brandID: obj.id },
function(data)
{
if (jQuery('#brand_selectList').length == 0)
{
if (data == "Locked")
{
jQuery('#countryListBox').attr('disabled','true');
}
}
}, "text");
那麼這樣做,是禁用的選擇框,如果返回結果=「鎖定」。
這是我的PHP代碼,返回結果:
function controllBrandRelation($dal)
{
// Get label data.
$result = $dal->getRowByValue('myTable','id', $_POST['someID']);
if (mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_array($result))
{
$ownerID = $row["fk_userID"];
}
}
if(!empty($ownerID))
echo 'Locked';
else
echo 'Open';
}
這將返回「鎖定」如果$ OWNERID具有一定的價值。
這是我的問題:
如果我做一個alert(data.length)
,我得到的結果72.我真的應該得到6,這是一個詞「鎖定」的字符數。
jQuery.post("mypath/include/jquery_bll.php", { instance: 'controllAccess', brandID: obj.id },
function(data)
{
alert(data.length);
}
如果我做了alert(jQuery.trim(data).length)
,我會得到正確的值。
但無論我做什麼,我不能讓這個IF測試裏面:
if (data == "Locked")
{
jQuery('#countryListBox').attr('disabled','true');
}
爲什麼數據不等於「鎖定」?
我已經測試過修剪和未修剪的版本。
UPDATE
我已經成功地得到它的工作從文本改變返回的結果,以JSON。 所以現在我檢查(data.status == "locked")
是否正常工作。
但我真的很想知道文本的返回結果是76個字符長,當它應該是6。爲什麼我不能匹配/測試結果。
PHP函數按預期工作,它返回我想要的。我通過迴應結果來測試它。我現在正在寫一個關於我的問題的更新 - 大約3分鐘。 – Steven
如果你在firefox上安裝了firebug,你可以在控制檯檢查你的返回響應,看看它有多少個字符。我沒有看到你的PHP沒有問題,除了controllBrandRelation()函數是否回顯空格之外,是否可以通過該文件中的其他內容來實現? –