如果和其他条件在ajax成功

时间:2017-03-30 02:01:20

标签: javascript ajax

正如标题所说我想在Ajax中运行成功条件中的if和else,例如在运行Ajax之后看到有记录它会成功然后在成功内部它必须寻找& #34; if statement"并在" if语句中显示警告"如果该陈述为真,但它始终显示" else语句"内部有警报(' no'),即使有记录,谢谢

<script>
function renderAttendees(id)
        {
            ///$("#attendeesContent").empty();
            var dataString = { "id": id };
            $.ajax({
                type: 'POST',
                url: server+'webservice/crm/viewAttendeesDetails',
                data: dataString,
                dataType: 'json',
                contentType: "application/x-www-form-urlencoded",
                cache: true,
                success: function(data) 
                {
                 if($.trim(data) === 'error')
                 {
                  alert('yes');   
                 }
                 else
                 {
                  alert('no');
                 }
                },
                error: function(XMLHttpRequest, textStatus, errorThrown)                    {
                    console.log("Error connecting to server. " + XMLHttpRequest + ", " + textStatus +", "+ errorThrown);

                }
</script>

//我的控制器代码     

 public function viewAttendeesDetails()
{
  header('Access-Control-Allow-Origin: *');
  header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');

  $data = array();
  $id = $_POST['id'];


  $AttendeesDetails = $this->model->GetAttendeesDetail($id);
  if($row = $AttendeesDetails->fetch(PDO::FETCH_ASSOC))
  {
    $this->tp->DBToHTMLAll($row, $data);        
  }

    echo json_encode($data);
    exit;
} 

?>

//我的模型代码

db-&gt; prepare(&#34; SELECT * FROM crm_contact_list WHERE id =:AttendId&#34;);            $ stmt-&gt; bindParam(&#34;:AttendId&#34;,$ id);            $ stmt-&GT;执行();            return $ stmt;         }         catch(例外$ e)         {             return $ e-&gt; getMessage();             return $ stmt;         }         返回;     } ?&GT;

//这是console.log(data);

的结果

对象 电子邮件:&#34; kyle@localhost.com" full_name:&#34;测试kim&#34; ID:&#34; 1&#34; 兴趣:&#34;测试&#34; 数:&#34; 123456&#34; 位置:&#34; PROG&#34; venueID:&#34; 1&#34;

1 个答案:

答案 0 :(得分:0)

我会从您的控制器返回类似

的内容

Enrol= new JCheckBox(Modules.get(i)); ModulePanel.add(Enrol);

所以当你收到ajax响应时,你可以做一个json_decode,并检查状态。

所以在你的控制器中你会有

{status: 'success', data: myArrayWithFoundData}

类似的东西,所以在ajax响应中你会做一个

if($row = $AttendeesDetails->fetch(PDO::FETCH_ASSOC))
      {
          $this->tp->DBToHTMLAll($row, $data);
          $rsp_data = {status: 'success', data: $data};
      }else{
          $rsp_data = {status: 'error', data: null};
      }
echo json_encode($resp_data);

并检查var a = JSON.parse(data); 是否有错误