2012-11-13 53 views
1

我跟隨knockout.js教程加載數據從服務器,我有點困惑,查詢實際上是從哪裏來的。教程可以找到here和我在說的代碼的特定位在第2頁。查詢數據庫與knockout.js/jquery

我明白使用ajax的必要性,但我並不確定如何根據它們進行查詢正在做。

$.getJSON("query/tasks", function(allData) { 
    var mappedTasks = $.map(allData, function(item) { return new Task(item) }); 
    self.tasks(mappedTasks); 
});  

什麼正在發生的描述:

On this server, there's some code that handles requests to the URL /tasks, and 
responds with JSON data. Add code to the end of TaskListViewModel to request that 
data and use it to populate the tasks array: 

所以,說我與PHP的工作,並希望使下面的查詢,找到任務:

$tasks= mysql_query("select * from tasks"); 

我會在哪裏放置這個查詢?我看到它與/任務有關,但是究竟發生了什麼?

編輯,我會這樣做嗎?因此,基本上這個$ .getJSON請求是在這種情況下調用一個函數駐留在查詢/任務?

//assuming this is on query.php 

Class query{ 

    function tasks(){ 
     $task = mysql_query("select * from tasks"); 
     return $task; 
    } 

} 

回答

2

本質上正在發生的事情是,你正在做一個AJAX調用服務器上的某個端點,將返回JSON數據。我在一段時間裏沒有用過PHP,但是你基本上是在你的服務器上請求一個資源。假設您的網站是http://www.myawesomesite.com。如果您要向「/ tasks」發出AJAX請求,則會有一個請求http://www.myawesomesite.com/tasks,預計該請求會返回JSON數據。

該資源可以是另一個頁面,某種Web服務,無論您有什麼可用的。我主要在ASP.NET MVC領域工作,所以我的經驗與PHP不同,但想法是一樣的。您正在向服務器上的資源發出請求以返回JSON數據。無論這些資源是由你決定的。 HTH!

+0

我已經使用了cakphp,所以我假設它的工作原理與如何根據控制器和操作類似,某些數據將被髮送到視圖。所以查詢/任務將代表查詢類中的一個稱爲任務的方法(或者只是在query.php中)。在那個任務方法中,我只需放置查詢並返回結果?如果這對任何人都有意義,請注意評論?我還更新了上面的代碼....所以基本上$ .getJSON請求正在調用駐留在/ tasks的函數? – user1104854