2010-08-20 21 views

Respuesta

8

jqGrid no guarde en algún lugar a la URL completa con todos los parámetros. Por lo tanto, es no es posible e dentro del archivo jqGrid API esto.

Para ver la URL completa, puede usar Firebug, Fiddler u otra herramienta cercana.

En general, es bien sabido cómo se construirá la url. Cómo entiendo indirectamente que desea utilizar HTTP GET (mtype: "GET"). Explico la construcción de la URL en caso de HTTP GET.

El URL completo de las peticiones GET habrá construido a partir de:

  • url parámetro del parámetro jqGrid
  • postData de los jqGrid
  • algunos paremeters adicionales que dependen de la acción que se utiliza (primera carga de la red , búsqueda de datos, paring, etc.). Los nombres de estos parámetros adicionales se pueden cambiar mediante el parámetro prmNames de jqGrid (consulte http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options#how_to_overwrite_global_options). Por ejemplo, si define prmNames: {sort: "searchIndex", order: "searchDirection", search: null, nd: null}, los parámetros sidx y sord pasarán a llamarse searchIndex y searchDirection. Los parámetros _search y nd no enviarán.

A continuación encontrará algunas de las URL típicos:??

  1. baseurl _search = false & nd = 1250348761396 & filas = 20 & page = 1 & SIDX = & Sord = asc
  2. baseurl _search = falso & nd = 1250348761396 & filas = 20 & página = 1 & sidx = Nombre & sord = asc
  3. baseurl? _search = true & filas = 10 & page = 1 & SIDX = Nombre & Sord = asc & searchField = Fabricación & searchString que = Micro & searchOper = peso corporal

la primera URL solicita la carga de la primera página de datos, 20 filas por página, sin clasificación. La segunda url tiene ordenación por Name. La tercera url contiene filtrado de datos (con simple searching) basado en el filtro "Manufacture comienza con Micro" y ordenando por Name. Los resultados son paginados por 10 filas por página y se solicita la primera página.

En caso de utilizar Advanced Searching o Toolbar Searching en lugar de Simple Searching, la url se verá como un poco diferente. Everithing se documenta bajo http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs.Si tienes más preguntas, te las explicaré con más detalle.

Es importante entender que los parámetros utilizados en la URL deben codificarse. Así que si quieres url cunstruct mismo como

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

que debiera No se olvide de utilizar encodeURIComponent función para codificar y myFirstNamemyLastName. En lugar de eso, puede usar jQuery.param (consulte why my search code does not work on internet explorer) o mejor use el parámetro postData de jqGrid (consulte jqgrid not updating data on reload y How to filter the jqGrid data NOT using the built in search/filter box. En el último caso, los símbolos '?' Y '&' se insertarán en la url si es necesario y todos los datos los valores serán codificados con respecto a encodeURIComponent

5

que tenían una necesidad similar y lo resolvió con esto:.

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); 

Para mí, lo anterior tiene todo lo que necesitaba, incluyendo artículos de la barra de herramientas de búsqueda si se utiliza el. ?myextraparam=something debe reemplazarse con los parámetros adicionales que desea pasar.

0

Aquí está la respuesta simple. JQGrid se agregará a tus cadenas de consulta.

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