Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery/PHP/MySQL获得一些奇怪的结果_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery/PHP/MySQL获得一些奇怪的结果

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) {

我很难得到预期的结果

我有以下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");
因此,如果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()函数之外,该文件中是否还有其他内容?