uso por peticion ejemplos ejemplo data jquery sharepoint httphandler

jquery - ejemplos - peticion get por ajax



jQuery POST. No se pueden obtener los parĂ¡metros de solicitud utilizando httphandler personalizado (4)

¿Por qué anulas la opción contentType en tu llamada a $.ajax() ? Si omite eso, ¿todavía ve que se envía nulo para el valor de Operation ?

Además, creo que el formato adecuado para los datos JSON sería:

{"Operation": "activate"}

Creo que la especificación JSON es específica al respecto, pero la mayoría de los marcos no son tan estrictos.

Tengo un método de publicación jQuery con datos JSON incluidos.

En mi httphandler, en el método processRequest, Request ["Operation"] es nulo y ninguno de mis datos se publica. Estoy en un entorno de SharePoint 2010.

public void ProcessRequest(HttpContext context) { try { string operation = context.Request["Operation"]; // Returns null

Mi JavaScript es el siguiente:

function CallService(serviceData, callBack) { $.ajax({ type: "POST", url: ServiceUrl, data: { Operation : "activate"}, contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { callBack(result); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.responseText); } });

En el depurador en VS no puedo encontrar los valores publicados cuando evalúo el HttpContext. En Firebug, el valor se publica como datos JSON válidos. ¿Alguna razón por la que no puedo obtener los parámetros?

Cualquier ayuda apreciada.


Tal vez estás siendo restringido por la misma política de origen . ¿ ServiceUrl está en el mismo nombre de host y dominio que la página de llamada?


Gracias por todas vuestras aportaciones, tíos. Decidí leer el flujo de entrada de la solicitud y obtener un par de valores clave de eso. Puedo acceder a todos mis params de esa manera.

También estoy usando la función $ .toJSON () para pasar mis parámetros a la llamada Ajax. La clase JsonConvert es del ensamblado JSON.Net de Newtonsoft. Lo uso mucho y recomiendo usarlo si utiliza cualquier material de serialización json.

Por cierto, cambiar las comillas alrededor de los parámetros de entrada funcionó. Quiero seguir usando una función genérica ajax y usar la función $ .toJSON y, en general, pasar un objeto con todos mis parámetros como datos de la publicación.

TextReader reader = new StreamReader(context.Request.InputStream); Dictionary<string, string> requestParams = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd()); try { switch (requestParams["operation"])


Cambié contentType a application/x-www-form-urlencoded e hice un truco