jQuery MiniUI

 找回密码
 立即注册
查看: 6784|回复: 6
打印 上一主题 下一主题

关于datagrid json请求的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-9-4 14:02:54 |只看该作者 |倒序浏览
我在使用datagrid的时候,发现我的数据无法被加载,就是没有进入后台的程序,后台无错,页面报415的错误,url地址正确,json数据格式也正确,而且当我用自己的测试代码没有问题,能够有返回值。
测试代码如下
                 var data =   {
                        dreMan : "Jack",
                        encryptCheckCode : 22,
                        projectname : "male"
                } ;

                var json = $.toJSON(data);
                alert(json);
                $.ajax( {
                        url :"../NewSearchController/websearchtest.do",
                        type : "POST",
                        //dataType : "json",
                        //headers:{
                        //        Accepts:"application/json; charset=utf-8"
                        //},
                        //Accept: "application/json; charset=utf-8",
                        contentType: "application/json; charset=utf-8",
                        data : json,
                        success : function(data) {
                                console.info(data)
                                if (data) {
                                        for ( var i = 0; i < data.length; i++) {
                                                alert(data.name)
                                        }
                                }
                        },
                        error : function(e) {
                                alert("error");
                        }
                });

此时,我的后台正常,接着将我miniui内的主要代码段贴出。
datagrid定义如下:
                <div id="datagrid1" class="mini-datagrid"
                        style="width: 100%; height: 600px;" multiSelect="true"
                        allowResize="true" sizeList="[20,30,50,100]" pagesize="20"
                        url="/../Maven2/NewSearchController/websearchtest.do" >

                       ...
                </div>
mini.parse();
var grid = mini.get("datagrid1");
grid.sortBy("createtime", "desc");
js脚本如下:
function search() {
        var data =  {
                dreMan : "Jack",
                encryptCheckCode : 22,
                projectname : "male"
        }   ;
        /*var data =   {
                dreMan : "Jack",
                encryptCheckCode : 22,
                projectname : "male"
        } */;
        var json = $.toJSON(data);
        alert(json);
        grid.load(json );
}

现在略有疑问的就是,我的url配置应该都是正确的(测试页面和实际mini页面在同一个目录下),但是datagrid报415的错误。真心感到令人纠结。。。


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2013-9-4 15:07:40 |只看该作者
你把返回的json贴到一个txt文本中,然后表格url指向这个txt,看看能否正确加载,如果不行的话,虽然交互成功,但可能是你数据有问题,

Rank: 3Rank: 3

板凳
发表于 2013-9-4 15:16:41 |只看该作者
factory 发表于 2013-9-4 15:07
你把返回的json贴到一个txt文本中,然后表格url指向这个txt,看看能否正确加载,如果不行的话,虽然交互成 ...

并不是返回的json数据的问题,是请求的时候根本没有进入我的后台入口点,所以报错的,我后台设置好了断点,前台测试页面发送的请求没有问题,但是miniui这边发送的请求就是有问题。

Rank: 8Rank: 8

地板
发表于 2013-9-4 15:18:04 |只看该作者
wudigongzi 发表于 2013-9-4 15:16
并不是返回的json数据的问题,是请求的时候根本没有进入我的后台入口点,所以报错的,我后台设置好了断点 ...

grid.load()执行了没?

Rank: 3Rank: 3

5#
发表于 2013-9-4 15:38:03 |只看该作者
factory 发表于 2013-9-4 15:18
grid.load()执行了没?

当执行search()的时候,自动执行了load()事件,不然console口是不会报415的错误的。。。我帖子上已经有标明了.而且妖孽的是,测试代码都能通过。。。没道理不通过。。。

Rank: 3Rank: 3

6#
发表于 2013-9-4 16:25:16 |只看该作者
factory 发表于 2013-9-4 15:18
grid.load()执行了没?

我刚才做了下测试,后台用string类型去接收我的测试代码发送过来的数据以及用miniui发送过来的数据做了下测试,分别如下:
以下是miniui datagrid用load函数后我后台用json接收加载出来的字符串
sortField=createtime&sortOrder=desc&pageSize=20&pageIndex=0dreMan=Jack&sortField=createtime&sortOrder=desc&pageSize=20&pageIndex=0
而我的测试代码后台接收到的数据如下:
{"dreMan":"Jack","encryptCheckCode":22,"projectname":"male"}
两者显然不一样。能否解释下这个到底是肿么回事。。。

Rank: 8Rank: 8

7#
发表于 2013-9-4 16:45:45 |只看该作者
wudigongzi 发表于 2013-9-4 16:25
我刚才做了下测试,后台用string类型去接收我的测试代码发送过来的数据以及用miniui发送过来的数据做了下 ...

url加载数据的时候,你直接request["pageIndex"]
request["pageSize"]
request["sortField"]
....
就行了,然后根据页码等参数,去查询返回数据

Archiver|普加软件

GMT+8, 2025-7-10 15:39 , Processed in 1.042598 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部