Javascript 使用jQuery/PHP/MySQL获得一些奇怪的结果
我很难得到预期的结果 我有以下jQuery脚本:Javascript 使用jQuery/PHP/MySQL获得一些奇怪的结果,javascript,jquery,Javascript,Jquery,我很难得到预期的结果 我有以下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) {
// 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");
因此,如果return result=“Locked”,则禁用选择框
以下是返回结果的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有一些值,则返回“锁定”
这是我的问题:如果我执行
警报(data.length)
,我会得到结果72。我真的应该得到6,这是单词“Locked”中的字符数
jQuery.post("mypath/include/jquery_bll.php", { instance: 'controllAccess', brandID: obj.id },
function(data)
{
alert(data.length);
}
如果我执行警报(jQuery.trim(data.length)
,我会得到正确的值
但无论我做什么,我都无法进入这个IF测试:
if (data == "Locked")
{
jQuery('#countryListBox').attr('disabled','true');
}
为什么数据不等于“锁定”
我已经测试过修剪版和未计时版
更新通过将返回结果从文本更改为json,我成功地使其工作。 现在我检查一下是否
(data.status==“locked”)
,它工作正常
但我真的很想知道文本的返回结果是76个字符长的,而它应该是6个字符。以及为什么我无法匹配/测试结果。首先,我不确定在将返回值回显到AJAX调用函数后是否终止脚本。您可以通过执行以下操作来解决此问题:
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"];
}
}
echo (!empty($ownerID)) ? 'Locked' : 'Open';
die;
}
其次,如果您能够成功地将该值减至6,则应尝试存储该值并在支票中使用该值。您是否尝试过提醒您的值以查看它是否匹配
jQuery.post("mypath/include/jquery_bll.php", { instance: 'controllAccess', brandID: obj.id }, function(data) {
data = jQuery.trim(data);
alert(data);
}
PHP函数按预期工作,并返回我想要的内容。我通过重复结果来检验这一点。我现在正在写一篇关于我的问题的更新——大约3分钟后看一看。如果你在firefox上安装了firebug,你可以在控制台中检查你的返回响应,看看它有多少个字符长。我认为您的PHP没有问题,除了响应空格的ControlBrandRelationship()函数之外,该文件中是否还有其他内容?