首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery jTable中的AJAX调用

问jQuery jTable中的AJAX调用
EN

Stack Overflow用户
提问于 2014-06-11 17:45:29
回答 1查看 1.3K关注 0票数 0

我正在尝试在jTable中实现分页。有人能帮我理解下面的代码吗?我已经阅读了jQuery的Ajax文档,并且了解了除URL之外的所有内容,特别是该url指的是什么?为什么url字段的格式是这样的?为什么/演示/学生列表?jtStartIndex,这意味着什么?

代码语言:javascript
复制
listAction: function (postData, jtParams) {
    return $.Deferred(function ($dfd) {
        $.ajax({
            url: '/Demo/StudentList?jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
            type: 'POST',
            dataType: 'json',
            data: postData,
            success: function (data) {
                $dfd.resolve(data);
            },
            error: function () {
                $dfd.reject();
            }
        });
    });
}

目前,我有一个php脚本,它调用mysql数据库中的存储过程。在本例中,AJAX是实现分页的唯一方式吗?或者,我可以使用jTable实现上面的分页,方法是执行以下操作:

(不包括红色代码)

代码语言:javascript
复制
//open database etc
$offset = $_POST['jtStartIndex'];
$amount = $_POST['jtPageSize'];
$result = $mysqli -> query ("CALL Proc($offset, $amount);
//while loop using fetch_assoc() to assign row objects to rows array
$jtableResults['Result'] = "OK";
$jtableResults['Records'] = $rows;
//close
echo json_encode($jtableResults);

MySQL程序:

代码语言:javascript
复制
CREATE DEFINER='user''@'%' PROCEDURE 'Proc' (offset INTEGER, amount INTEGER)
BEGIN
SELECT * FROM reports Order By idReports ASC LIMIT offset, amount;
END

我认为我不能这样做,因为jTable希望jtParams对象返回到AJAX调用中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-11 18:08:13

不需要理解的是,URL是$.ajax调用的最重要部分,基本上它是您需要调用以获取一些数据的终结点。在这情况下,这个URL可以是绝对的:

代码语言:javascript
复制
var url = 'http://api.themoviedb.org/3/',
    mode = 'search/movie?query=',
    movieName = '&query='+encodeURI($('#movie-title').val()),        
    key = '&api_key=470fd2ec8853e25d2f8d86f685d2270e';      

$.ajax({
    url: url + mode + key + movieName ,
    dataType: "jsonp",
    async: true,
    success: function (result) {
        ajax.parseJSONP(result);
    },
    error: function (request,error) {
        alert('Network error has occurred please try again!');
    }
});

也可以是相对的,就像你的情况一样。在您的示例中,url目标文件只是一些服务器端类(ASP.NET,通常具有.php扩展名),它接受某些参数并返回JSON,如下所示:

代码语言:javascript
复制
{
 "Result":"OK",
 "Record":{"PersonId":5,"Name":"Dan Brown","Age":55,"RecordDate":"\/Date(1320262185197)\/"}
}

因为您是PHP开发人员,所以您的目标URL如下所示:

代码语言:javascript
复制
demo/StudentList.php?jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting

我忘了最后一件事。在使用$.ajax调用时,当客户端独立于服务器端工作时(比如混合移动应用程序)或您想调用一些公共API (如IMDB、雅虎天气等)时,就会使用绝对URL。当您在一个典型的网站上工作时,使用相对URL,其中目标URL是您的web服务器,基本上与您的站点相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24169318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档