jQuery MiniUI

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

datagrid不灵活 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-1-15 12:30:21 |只看该作者 |倒序浏览
datagrid不灵活,为什么在load的时候不能设置contentType了,默认的是application/x-www-form-urlencoded,为什么不能更改以Json方式提交了

Rank: 8Rank: 8

沙发
发表于 2014-1-15 13:24:34 |只看该作者
datagrid内部就是ajax + json的方式跟后台交互

Rank: 2

板凳
发表于 2014-1-15 13:45:37 |只看该作者
factory 发表于 2014-1-15 13:24
datagrid内部就是ajax + json的方式跟后台交互

我知道 但是值传递到后台是Content-Type:application/x-www-form-urlencoded
而不是Content-Type:application/json

Rank: 9Rank: 9Rank: 9

地板
发表于 2014-1-15 14:20:17 |只看该作者
给表格设置:
ajaxOptions="{contentType:'application/json'}"

Rank: 2

5#
发表于 2014-1-15 14:40:25 |只看该作者
niko 发表于 2014-1-15 14:20
给表格设置:
ajaxOptions="{contentType:'application/json'}"

恩 这样设置后 contentType是改变了
但是出现这样的
  1. pageSize=3&pageNo=1&proc%5BcaseNo%5D=wwww&pageIndex=0&sortField=&sortOrder=
复制代码
caseNo是proc的一个属性
我要换成pageSize=3&pageNo=1&proc.caseNo=wwww&pageIndex=0&sortField=1&sortOrder=1就能跟我后端的实体映射上去了,中间的%5B跟%5D能否通过某些方式转换下

Rank: 2

6#
发表于 2014-1-15 14:46:10 |只看该作者
niko 发表于 2014-1-15 14:20
给表格设置:
ajaxOptions="{contentType:'application/json'}"

这个是我从chrome中看到的http头信息
设置后 理论上传送的不是json
  1. Accept:text/plain, */*; q=0.01
  2. Cache-Control:max-age=0
  3. Content-Type:application/json
  4. Origin:http://localhost:8080
  5. Referer:http://localhost:8080/ElectronicRecord/caseRegister/registerinfo.do
  6. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
  7. X-Requested-With:XMLHttpRequest
  8. Request Payload
  9. pageSize=3&pageNo=1&proc%5BcaseNo%5D=wwww&pageIndex=0&sortField=&sortOrder=
复制代码
值还是以表单方式提交的

Rank: 2

7#
发表于 2014-1-15 14:51:05 |只看该作者
niko 发表于 2014-1-15 14:20
给表格设置:
ajaxOptions="{contentType:'application/json'}"
  1. Request URL:http://localhost:8080/ElectronicRecord/caseRegister/pageList.do
  2. Request Headersview source
  3. Accept:application/json, text/javascript, */*; q=0.01
  4. Cache-Control:max-age=0
  5. Content-Type:application/json
  6. Origin:http://localhost:8080
  7. Referer:http://localhost:8080/ElectronicRecord/caseRegister/registerinfo.do
  8. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
  9. X-Requested-With:XMLHttpRequest
  10. Request Payloadview parsed
  11. {"pageSize":3,"pageNo":1,"proc":{"caseNo":"1111"}}
复制代码
设置为json方式后,应该显示这样的

Rank: 2

8#
发表于 2014-1-15 16:01:20 |只看该作者
大神 版主 急求啊 在线急等

Rank: 9Rank: 9Rank: 9

9#
发表于 2014-1-15 16:08:04 |只看该作者
试试:ajaxOptions="{contentType:'application/json', dataType: 'json'}"
如果还不行,请说明用jquery的ajax是如何跟你后台交互传递的,配置信息如何写,这样我们就可以处理了,因为我们的ajax也是用jquery的

Rank: 2

10#
发表于 2014-1-15 16:19:10 |只看该作者
niko 发表于 2014-1-15 16:08
试试:ajaxOptions="{contentType:'application/json', dataType: 'json'}"
如果还不行,请说明用jquery的a ...

还是不行 映射不上去
头部信息如下
  1. Accept:application/json, text/javascript, */*; q=0.01
  2. Cache-Control:max-age=0
  3. Content-Type:application/json
  4. Origin:http://localhost:8080
  5. Referer:http://localhost:8080/ElectronicRecord/caseRegister/registerinfo.do
  6. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
  7. X-Requested-With:XMLHttpRequest
  8. Request Payload
  9. pageSize=3&pageNo=1&proc%5BcaseNo%5D=wwww&pageIndex=0&sortField=&sortOrder=
复制代码
我的后台是这样
PageQuery对象
  1. private Caseregister proc;
  2. private int pageIndex;
  3. private String sortField;
  4. private String sortOrder;
复制代码
Caseregister对象
  1. private Integer id;
  2. private String caseNo;
  3. private String caseName;
复制代码
PageQuery对象里的proc属性一直映射不上去
如果是
  1. Accept:application/json, text/javascript, */*; q=0.01
  2. Cache-Control:max-age=0
  3. Content-Type:application/json
  4. Origin:http://localhost:8080
  5. Referer:http://localhost:8080/ElectronicRecord/caseRegister/registerinfo.do
  6. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
  7. X-Requested-With:XMLHttpRequest
  8. Request Payloadview source
  9. {pageSize:3, pageNo:1, proc:{caseNo:1111}}
  10. pageNo: 1
  11. pageSize: 3
  12. proc: {caseNo:1111}
复制代码
就可以映射上去
我的理解是load方法将我的json对象处理了下,虽然contentType:'application/json'是Json方式,但是传递的值不是json

Archiver|普加软件

GMT+8, 2025-7-7 09:01 , Processed in 1.045974 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部