2015-04-21 31 views
2

我在我的控制器中有一個條件函數,用於從視圖中發佈的內容。因此,我想在提交數據時向視圖發送回覆或回調。沒有ajax或iframe的回調(純代碼)

出於某種原因,我不想使用ajax或iframe來處理此回調。

我期待一個純JavaScript和PHP來做到這一點相結合:

草圖可能是這樣的:

<script> 
    var callbackFromController = <?php echo $callbackFromController;?> 

    if(callbackFromController == "Love") 
     { 
      alert("This is Love"); 
     } 
    else if(callbackFromController == "Wealth") 
     { 
      alert("This is Wealth"); 
     } 
    else if(callbackFromController == "Healt") 
     { 
      alert("This is Healt"); 
     } 
    else 
     { 
      alert("This is Life"); 
     } 

</script> 

但我想只要按鈕提交拿到$ callbackFromController (像阿賈克斯成功響應)

再一次,我不想爲這一個使用ajax或iframe。

我不想使用ajax的原因是我不想傳遞url以及ajax文章中的數據。

[更新]

基於我從這個問題得到了答案,這是說,我可以選擇使用AJAX或iframe。

如果我必須使用ajax,我可以做到這一點,而無需通過URL和/或數據發佈或得到?

+0

如果你不想做什麼動態的,你必須做唯一的選擇,重新加載頁面的時間間隔。 –

+0

我很確定有一種方法可以實現這一點,我需要一個幫助來思考這個問題。 – iyal

+0

「我不想傳遞網址以及ajax文章中的數據」---所以您希望數據在不發送的情況下發送? – zerkms

回答

0

正如您所建議的,您無法重新加載頁面或使用AJAX請求或iframe與PHP進行交互。

2

PHP在之前將值寫出該頁面被提供給瀏覽器。

如果是這樣的話,那麼PHP不能寫出來在頁面上點擊一個按鈕,除非你正在重新加載頁面。

...另一種方法是動態創建一個鏈接到一個新的腳本頁面(實際上是一個.php頁面,但是與一個application/javascript MIME類型一起),它包含你的腳本邏輯和你的PHP寫...

這是一個可怕的解決方案,但它在技術上是可行的;你只需要在每個級別(客戶端,apache web-server和php web-app)上做錯誤的事情。

+1

感謝您的素描。我希望它可以像我預期的那樣簡單。將嘗試一下。 – iyal