2010-08-20 97 views
5

我希望得到的最后一个请求的完整URL由JqGridincluding页面做了我的AJAX服务的参数,每页记录,搜索PARAMS等获取当前URL包括jqGrid的

是否有任何方法或集合我可以使用JqGrid API中的方法来实现这一点?

回答

8

jqGrid 不保存在某处添加了所有参数的完整URL。所以这是不可能的。

要查看完整的URL,您可以使用FirebugFiddler或其他关闭工具。

一般来说,它是众所周知的网址将如何构建。我如何间接地理解你想使用HTTP GET(mtype: "GET")。我解释了在HTTP GET情况下URL的构造。所述的jqGrid

  • 一些额外的,其取决于所使用的动作paremeters的的jqGrid
  • postData参数的

    • url参数(第一格栅负载:

      在GET请求中的URL将构成,数据搜索,配对等)。这些附加参数的名称可以通过jqGrid的prmNames参数进行更改(请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options#how_to_overwrite_global_options)。例如,如果您定义了prmNames: {sort: "searchIndex", order: "searchDirection", search: null, nd: null},则参数sidxsord将重命名为searchIndexsearchDirection。参数_searchnd将不会发送。

    下面你会发现一些典型的URL:??

    1. 的BaseURL _search =假& ND = 1250348761396个&行= 20 &页面= 1 & SIDX = & SORD = ASC
    2. 的BaseURL _search =假& nd = 1250348761396 & rows = 20 & page = 1 & sidx =名称& sord = asc
    3. 的BaseURL?_search =真&行= 10 &页面= 1 & SIDX =名称& SORD = ASC & searchField =制造&搜索字符串=微& searchOper =体重

    第一个URL请求的第一个页面的加载的数据,每页20行,无需排序。第二个网址按Name排序。第三个url包含数据过滤(使用simple searching),基于过滤器“Manufacture开始于Micro”并按Name排序。结果每页分页10行,并请求第一页。

    在使用Advanced SearchingToolbar Searching而不是Simple Searching的情况下,url看起来会像其他一样。 Everithing被记录在unter http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs。如果你还有其他问题,我会解释所有更详细的问题。

    理解在URL中使用的参数应该被编码是很重要的。所以,如果你想cunstruct网址自己

    "baseUrl?firstName=" + myFirstName + '&lastName=' + myLastName 
    

    你应该不要忘了使用encodeURIComponent功能编码myFirstNamemyLastName。而不是你可以使用jQuery.param(见why my search code does not work on internet explorer)或更好地使用jqGrid的postData参数(见jqgrid not updating data on reloadHow to filter the jqGrid data NOT using the built in search/filter box。在最后一种情况下,符号'?'和'&'将被插入url中,如果需要的话,值将与尊重encodeURIComponent编码

  • 5

    我也有类似的需要,为这个解决它:

    var myUrl = jQuery("#grid").jqGrid('getGridParam', 'url'); 
    myUrl += "?myextraparam=something"; 
    var postData = jQuery("#grid").jqGrid('getGridParam', 'postData'); 
    $.each(postData, function(key, value) { 
        myUrl += "&"+key+"="+encodeURIComponent(value); 
    }); 
    //alert(myUrl); 
    

    对于我来说,上面得到了所有我需要的,包括从搜索工具栏项目如果使用的。 ?myextraparam=something应该替换为您想要传递的任何额外参数。

    0

    以下是简单的答案。 JQGrid将附加到你的查询字符串。

    url: "/CaseManagement/Shipping/GetLastShipments?StudentID=" + GetSelectedStudentID(),