No puedo obtener la siguiente función para que funcione correctamente. Parece estar serializando mal. Esta es la quinta iteración de diferentes variantes de datos. Originalmente estaba haciendo datos: {'id': id} como lo hago en el trabajo con WCF, pero con ASMX simplemente no funciona. Parece que está serializando los datos como id = 1234 en lugar de id: 1234, pero soy bastante nuevo en esto. Cualquier ayuda sería apreciada. Ah, y puedo llamar al servicio directamente en el navegador y devuelve los datos correctamente para que sepa que no es el servicio.Primitiva JSON no válida: id
function getVentID(id) {
//look up id in database and get VentID
alert('id: ' + id);
var jsdata = { "id": + id}
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'services/UserService.asmx/getVentID',
data: jsdata,
dataType: 'json',
success: function (msg) {
alert(msg.d);
},
error: function (a, b, c) {
alert('Error: ' + a.toString() + ' ' + b.toString() + " " + c.toString());
}
});
}
p.s. Sé que hay como 10 preguntas idénticas pero ninguna de ellas tiene respuestas que pude encontrar o que funcionó para mí.
Bueno, técnicamente que solucionó el error que he publicado, pero ahora me sale: llamada de servicio web no válida, el valor faltante para el parámetro:. \ U0027ID \ u0027 "" StackTrace ":" al System.Web.Script .Services.WebServiceMethodData.CallMethod ... etc. ¿Alguna idea? –
Traté de cambiar la carcasa ya que el nuevo error dice ID en lugar de identificación, pero no ayudó y ni siquiera sé si eso está relacionado ... –
Hmmm. Admito que no sé exactamente qué espera Asmx. ¿Qué es un ejemplo de lo que haces directamente en tu navegador que funciona? Definitivamente puedo ayudar a traducir eso a una llamada jQuery. – sblom