Saltar al contenido

“Primitiva JSON no válida” en el procesamiento Ajax

Solución:

Solo adivina que significa la variable json contener después

var json = Sys.Serialization.JavaScriptSerializer.serialize(obj);?

Si es un objeto json válido como {'foo':'foovalue', 'bar':'barvalue'} entonces jQuery podría no enviarlo como datos json, sino serializarlo a foor=foovalue&bar=barvalue así obtienes el error "Invalid JSON primitive: foo"

En su lugar, intente configurar los datos como una cadena

$.ajax({
    ...
    data: "{'foo':'foovalue', 'bar':'barvalue'}", //note the additional quotation marks
    ...
})

De esta manera, jQuery debe dejar los datos en paz y enviar la cadena como está al servidor, lo que debería permitir que ASP.NET analice el lado del servidor json.

Utilizando

data : JSON.stringify(obj)

en la situación anterior habría funcionado, creo.

Nota: Debe agregar la biblioteca json2.js, todos los navegadores no admiten ese objeto JSON (IE7-) Diferencia entre json.js y json2.js

está funcionando algo como esto

data: JSON.stringify({'id':x}),
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *