2

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', {.. ?

編集:

System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary 2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary2 パラメーター)\r\n System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext コンテキスト、WebServiceMethodData methodData、IDictionary`2 rawParams) で\r\n System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

4

3 に答える 3

3

orgおよびcatchwordパラメーターに値を渡していない。listActionでそれを行うことができます: "SearchResult.aspx / GetSearch?org = asd&catchword = asd"

また、firebugまたはchrome devツールを使用してネットワークパッケージをチェックし、エラーの詳細を確認できます。

于 2013-03-21T20:09:52.990 に答える
1

JTable の実行結果には、ok とその他の 2 つの状態識別があります。状態のとき!このエラーが非デジタル状態の場合、メッセージが報告されるとわかりました。ソースコード内のデジタル識別と修正を使用して、状態の背景として推奨されます。

            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;
                    }
于 2013-09-23T03:38:32.230 に答える