2015-04-22 108 views
0

,所以我需要做的是根據用戶的會話誤差與angularjs指令

if(!isset($_SESSION['userID'])){ 
$text = "<section> 
     <table> 
      <tr data-ng-repeat=\"msg in msgs\" 
      data-ng-click=\"function($event, ms,'lalalala')\" 
       <td>blablabla</td> 
      </tr> 
     </table> 
     </section>"; 

echo $text; 
} 

東西呼應了格上面的代碼保持產生的誤差與

Undefined variable: event 

這有什麼錯?

回答

1

PHP可能正試圖替換$事件

$text = "<section> 
    <table> 
     <tr data-ng-repeat=\"msg in msgs\" 
     data-ng-click=\"function(".'$event'.", ms,'lalalala')\" 
      <td>blablabla</td> 
     </tr> 
    </table> 
    </section>"; 

理想情況下你真的只想有你的模板進行客戶端和API和客戶端之間的明確分離。

+0

你是什麼意思,先生?這不是很好的做法嗎? – Foster

+0

@Foster有幾個原因我說不寫入服務層的視圖。 1,它使調試問題變得更加複雜,而不是測試/調試API,並且獨立地構建/測試您一次執行的視圖。如果您決定使用其他客戶端(本機iOS,Android和/或桌面應用程序)來使用數據,那麼您必須解析HTML而不是易於使用的JSON響應。 3如果您決定更改服務器端代碼,將影響客戶端。 – shaunhusain

+0

哦,我明白了。謝謝你的解釋,先生! – Foster

0

檢查你的代碼 - PHP將試圖評估哪些是雙引號內,你有什麼看起來像一個變量中($事件

  data-ng-click=\"function($event, ms,'lalalala')\" 

使用單引號,如果你不想PHP嘗試和評估字符串。見What is the difference between single-quoted and double-quoted strings in PHP?

$text = '<section> 
    <table> 
     <tr data-ng-repeat="msg in msgs" 
     data-ng-click="function($event, ms,\'lalalala\')" 
      <td>blablabla</td> 
     </tr> 
    </table> 
    </section>'; 
+0

數據-NG-點擊= '功能($事件,MS,' lalalala ')'。你的意思是那個先生?它仍然沒有工作 – Foster

+0

沒有,那你設置變量$文本整個PHP字符串(在這種情況下,沒有必要逃避裏面的雙引號) – copeg