2009-02-02 36 views
13

Estoy intentando ejecutar un servicio web asp.net usando jquery. Cuando paso único parámetro de entrada que funciona bien:¿Cómo pasar múltiples parámetros en formato json a un servicio web usando jquery?

$.ajax({ 
    type: "POST", 
    url: url, 
    data: "{'Id1':'2'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: callback 
}); 

pero si trato de pasar varios parámetros que no

$.ajax({ 
    type: "POST", 
    url: url, 
    data: "{'Id1':'2'},{'Id2':'2'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: callback 
});  

Por supuesto, cuando trato de pasar 2 parámetros de entrada, modifico la método web para que tome 2 parámetros de entrada.

¿Alguna idea?

+0

Tenemos que ver el código ASP que analiza el parámetro de POST objeto JSON. –

+1

modifique su URL url = url + '? Param1 =' + value1 + '&& param2 =' + value2; esto podría servirte –

Respuesta

34

encontrado la solución:

Debería ser:

"{'Id1':'2','Id2':'2'}" 

y no

"{'Id1':'2'},{'Id2':'2'}" 
5

Esto es una puñalada en la oscuridad, pero tal vez necesites envolver tus argumentos JSON; como decir algo como esto:

data: "{'Ids':[{'Id1':'2'},{'Id2':'2'}]}" 

Asegúrese de que su JSON esté formado correctamente?

2

Creo que la mejor manera es:

data: "{'Ids':['2','2']}" 

Para leer estos valores Ids [0], Ids [1].

3

TENGO mismo tema y resuelto por

data: "Id1=" + id1 + "&Id2=" + id2 
Cuestiones relacionadas