使用knockout.js / jquery查询数据库

时间:2012-11-13 16:20:59

标签: javascript jquery mysql ajax knockout.js

我正在关注从服务器加载数据的knockout.js教程,我对查询实际来自哪里感到困惑。可以找到教程here,我正在谈论的具体代码位于第2页。

我理解使用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");

我会在哪里放置此查询?我看到它与/ tasks有某种关系,但这里究竟发生了什么?

编辑,我会这样做吗?基本上$ .getJSON请求在这种情况下调用驻留在查询/任务的函数?

//assuming this is on query.php

Class query{

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

}

1 个答案:

答案 0 :(得分:2)

基本上发生的事情是您正在对服务器上的某个端点进行AJAX调用,该端点将返回JSON数据。我在很长一段时间内没有使用PHP,但您基本上是在服务器上请求资源。假设您的网站是http://www.myawesomesite.com。如果您要向“/ tasks”发出AJAX请求,则会向http://www.myawesomesite.com/tasks发出一条请求返回JSON数据的请求。

该资源可以是另一个页面,某种Web服务,无论您有什么。我主要在ASP.NET MVC空间工作,所以我的经验与PHP不同,但想法是一样的。您正在向服务器上的资源发出请求以返回JSON数据。无论该资源是什么,取决于您。 HTH!