我在jquery modile的代码中使用jTable,我从查询字符串获取参数并绑定到jtable,但是我得到错误:在与服务器通信时发生错误。
这是我的代码
<script type="text/javascript">
$(document).delegate('.ui-page', 'pageshow', function () {
$('#ResultContainer').jtable({
title: 'Search List',
paging: true, //Enables paging
pageSize: 10, //Actually this is not needed since default value is 10.
sorting: true, //Enables sorting
actions: {
listAction: "SearchResult.aspx/GetSearch"
},
fields: {
Ref: {
title: "Ref",
width: '30%'
},
Trademark: {
title: 'Trademark',
width: '30%'
}
}
});
$('#ResultContainer').jtable('load', {
org: '<%= Request["org"] %> ',
catchword: ('<%= Request["tm"] %> ')
});
});
我的网络方法是
[WebMethod(EnableSession = true)]
public static object GetSearch(string org, string catchword, int jtStartIndex, int jtPageSize, string jtSorting)
{
List<Coverage> tm = new List<Coverage>();
try
{
//Get data from database
using (ORepository repository = new ORepository())
{
tm = repository.getCoveragebyTM(catchword, org,0,10,"catchword");
int cnt = tm.Count;
return new { Result = "OK", Records = tm, TotalRecordCount = cnt };
}
}
catch (SqlException ex)
{
return new { Result = "ERROR", Message = ex.Message };
}
}
任何人都可以帮助我。如何致电$('#ResultContainer').jtable('load', {..
在页面加载?
编辑:
我收到此消息的响应
{“Message”:“无效的Web服务调用,缺少参数值:\ u0027org \ u0027。”,“StackTrace”:“at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target,IDictionary 2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary
2个参数)\ r \ n在System.Web.Script.Script.Services.RestHandler.InvokeMethod(HttpContext context,WebServiceMethodData methodData,IDictionary`2 rawParams)\ r \ n在System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context) ,WebServiceMethodData methodData)“,”ExceptionType“:”System.InvalidOperationException“}
答案 0 :(得分:3)
您没有为org和catchword参数传递任何值。您可以使用listAction执行此操作:“SearchResult.aspx / GetSearch?org = asd&amp; catchword = asd”
此外,您可以使用firebug或chrome dev工具检查网络包,以查看错误详细信息。
答案 1 :(得分:1)
JTable执行结果,有两个状态标识,ok和其他。当状态是!好的,如果非数字状态出现此错误,将报告您的消息。建议在源代码中使用数字识别和校正作为状态背景。
String error="{\"Result\":\"ERROR\",\"Message\":"+100+"}";
response.getWriter().print(error);
if (data.Result != 'OK') {
if(data.Message == 100){
self._showError('未登录!请重新登录');
}else{
self._showError(data.Message);
}
//window.location.href="login.jsp";
return;
}
if (data.Result != 'OK') {
if(data.Message == 100){
self._showError('未登录!请重新登录');
}else{
self._showError(data.Message);
}
//window.location.href="login.jsp";
return;
}
答案 2 :(得分:0)
通过将值传递给jtStartIndex,jtPageSize,jtSorting来解决)谢谢