2012-08-08 84 views
0

下面的代碼無法獲得其他statment下正確的響應:爲什麼else語句在這裏不起作用?

function ajax_response(){ 
if(is_user_logged_in() && check_key()){ 
    $result = $do_something; 
    if($result){ 
     ajax_response_string(1,'success!'); 
     }else{ 
     ajax_response_string(-1,'there is a problem, please try again!'); 
     } 
}else{ 
    ajax_response_string(-1,'you must login first.'); 
} 

}

當我註銷並嘗試點擊觸發此AJAX功能的鏈接,我得到的響應「未定義」,它應該是「你必須先登錄」。我哪裏出錯了?

+2

首先,你有一個語法錯誤!在最後一個else之後的開頭braket沒有關閉,或者在'ajax_response_string(-1,'必須先登錄'')後關閉它,''或者直接刪除它。 – UnLoCo 2012-08-08 23:10:08

+0

對不起,我忘了關閉在這篇文章中的最後一個,我剛剛添加它。但在我的原始代碼中,它很接近,沒有得到正確的響應。 – Jenny 2012-08-08 23:19:53

+0

打印'$ result'來驗證它既不是'null',也不是'undefined'。 – oldrinb 2012-08-08 23:20:25

回答

0

由於此行未終止,因此在行$result= //do something處出現語法錯誤。試試這個:

function ajax_response() 
{ 
    if(is_user_logged_in() && check_key()) 
    { 
     $result = doSomething; //error was here as there was no line terminator (;) present. 

     if($result) 
     { 
      ajax_response_string(1,'success!'); 

     } 
      else 
      { 
      ajax_response_string(-1,'there is a problem, please try again!'); 
      } 
    } 
    else 
     { 
      ajax_response_string(-1,'you must login first.'); 
     } 

} 
+0

發佈此問題時發生錯誤,我編輯了我的問題。 – Jenny 2012-08-08 23:30:48

+0

@珍妮,確保你編輯了你的問題。 – 2012-08-08 23:34:53

+0

@Jenny,第三行仍然讀取'$ result = //做某事; ' – 2012-08-08 23:36:22

1

我只是想它out--它不是else語句,這不是工作註銷用戶Ajax響應的URL。所以,我的問題不再有效了。如有必要,請關閉它。

相關問題