2010-08-20 50 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(),