2016-03-15 45 views
0

我在PHP中MVC是新的,我有一個關於如何使用JavaScript的PHP的MVC的JavaScript和PHP MVC

工作如果我有一個網頁的按鈕,當用戶點擊按鈕 它會發送到下一個問題在數據庫頁面和更新數據

$(document).ready(function(){ 
    $("#btn").click(function(){ 
     $.load(){... }  
     or $.post(){.....}//post data to another page 
    }); 
}); 

//next page 
if(isset($_POST[])){ 
    //update data 
} 

我的問題是

我應該將此數據發送到控制器比傳遞到建模,並考慮輸出(如果我們需要應對的東西)

Button --javascript--> controller -> model(update data) --send data back--> view 

我可以將數據發送到頁面和更新而不MVC

+0

結帳這個https://www.cs.colorado.edu/~kena/classes/7818/f06/lectures/19/arch.png – Vigikaran

+0

您可以使用JavaScript將數據發送到一個API(視圖MVC),它會返回結果。您無法使用JavaScript與控制器或模型進行通信。 – Vigikaran

+0

所以你的意思是我使用第二種方法,發送數據到頁面並更新它沒有mvc? –

回答

1

對不起,我不能隨便評論你的問題尚未

你的第一種方法是正確的。建議您更新模型中的數據。同時,所有的SQL語句或ORM句柄都應該在其上。

在你的情況下,你有兩種選擇來顯示數據在視圖中:返回一個JSON在你的PHP處理它與JavaScript,並在更新數據後直接加載你的看法。這取決於你的項目是如何建成的。

我可以寫一些例子,但你需要給一些代碼的和平。

// In your controller 
if(isset($_POST)){ 

    $obj = new MyObject(); 
    $obj->name = $_POST['name']; 
    $obj->date = date("Y-m-d"); 
    $obj->validatePost(); 
    $obj->update(); 

    $result = $obj->getData(); 
    return $result; 

} 


// Your model 
class MyObject { 

    public $name; 
    public $date; 

    public function validatePost(){ 
     if($this->name == null){ 
      // print error 
     } 
    } 

    public function update(){ 
     // database cheets 
    } 

    public function getData(){ 
     return $json; 
    } 

} 
+0

所以我應該把更新方法放在同一個頁面控制器中?當我發送數據時,創建一個新的對象並使用方法更新? –

+0

thx很多!我現在明白了,但有時候我覺得MVC讓應用很複雜 –

+0

看我的編輯。我假設你的控制器已經在處理這個帖子 – Kezzbr