Non riesco a far funzionare correttamente la seguente funzione. Sembra che la serializzazione sia sbagliata. Si tratta della quinta iterazione di diverse varianti di dati. Inizialmente stavo facendo solo i dati: {'id': id} come faccio al lavoro con WCF, ma con ASMX semplicemente non funziona. Sembra che stia serializzando i dati come id = 1234 invece di id: 1234, ma sono abbastanza nuovo per questo. Qualsiasi aiuto sarebbe apprezzato. Oh, e posso chiamare il servizio direttamente nel browser e restituisce i dati correttamente, quindi so che non è il servizio.Primitiva JSON non valida: 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. So che ci sono 10 domande identiche, ma nessuna di loro ha risposte che potrei trovare o che ha funzionato per me.
Beh, tecnicamente che ha risolto l'errore che ho postato, ma ora ottengo: chiamata di servizio Web non valido, valore mancante per il parametro:. \ U0027ID \ u0027 "" StackTrace ":" a System.Web.Script .Services.WebServiceMethodData.CallMethod ... etc Qualche idea? –
Ho provato a cambiare il caso dal momento che il nuovo errore dice ID invece di id ma non è stato d'aiuto e non so nemmeno se questo è relativo ... –
Hmmm. Ammetto di non sapere esattamente cosa si aspetta l'asmx. Qual è un esempio di ciò che fai direttamente nel tuo browser che funziona? Posso sicuramente aiutarti a tradurlo in una chiamata jQuery. – sblom