if(条件在jascript中失败)

时间:2015-07-03 02:43:31

标签: javascript jquery ajax

我有以下代码在windows中的localhost中工作。但在服务器中,相同的代码失败。

if条件即使data==found;我检查了返回的数据值found但未能执行的function checkAvailability() { $("#loaderIcon").show(); jQuery.ajax({ url: "ajaxcheck.php", data:'tran_id='+$("#tran_id").val(), type: "POST", success:function(data){ console.log(data); //var x=data; $("#loaderIcon").hide(); //console.log((data=="found")); if(data=="found") { $("#singlebutton").prop('disabled', false); console.log("fail"); $("#tran_id-status").html("Found"); } else { console.log(data); $("#singlebutton").prop('disabled', true); $("#tran_id-status").html(""); console.log("ss"); } }, error:function (){} }); } 条件写入但是无法解决为什么代码不是正确执行

<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$space=" ";

if(!empty($_POST["tran_id"])) {
  $result = mysql_query("SELECT count(*) FROM bank WHERE tran_id ='" . $space.$_POST["tran_id"] . "'");
  $row = mysql_fetch_row($result);
  $user_count = $row[0];
  if($user_count>0) {
     // echo "<span class='status-not-available' id=\"stat\"name=\"stat\" value=\"ok\"> Transaction Details Found.</span>";
    echo"found";
  }else{
      //echo "<span class='status-available' id = \"stat\" name =\"stat\"value=\"not\"> (Enter Valid transaction id to submit)</span>";
      echo"notfound";
  }
}
?>

这是ajaxcheck.php

├─flasky
│  ├─app/
│  │  ├─templates/
│  │  ├─static/
│  │  ├─main/
│  │  │  ├─__init__.py
│  │  │  ├─errors.py
│  │  │  ├─forms.py
│  │  │  └─views.py
│  │  ├─__init__.py
│  │  ├─email.py
│  │  └─models.py
│  ├─migrations/
│  ├─tests/
│  │  ├─__init__.py
│  │  └─test*.py
│  ├─venv/
│  ├─requirements.txt
│  ├─config.py
│  └─manage.py
...

1 个答案:

答案 0 :(得分:3)

问题是您的data变量带有换行符。这有两种解决方案1.修剪返回值。 2.找出为什么php正在服务新线。

解决方案1:

if(data.trim()=="found")

这使用JS修剪函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim

解决方案2:

尝试从PHP文件的末尾删除?>(PHP文件仍然有效)。这样,如果在它之后有额外的行,它们将不会作为输出提供,JS将不会收到它们。

从手册:

  

如果文件是纯PHP代码,则最好省略文件末尾的PHP结束标记。这可以防止在PHP结束标记之后添加意外的空格或新行,这可能会导致不必要的影响,因为当程序员无意在脚本中发送任何输出时,PHP将启动输出缓冲。