7 messaggi dal 19 settembre 2017
Buonasera a tutti!
Ho un problema nell' HttpPost con Web Api chiamata tramite AJAX. I dati dovrebbero essere salvati all'interno della tabella Anagrafica (salvata nel database sql server) ma ciò non avviene perché dopo aver assegnato tutti i valori la funzione passa direttamente a Return False, per poter salvare i dati dovrebbe fare i due passaggi:db.TB_ANAGRAFICA.Add(row) e db.SaveChanges()

Qualcuno potrebbe aiutarmi a capire l'errore?

Imports System.Net
Imports System.Web.Http


Namespace Controllers
Public Class AnagraficaController
Inherits ApiController
Dim db As New PupilEntities




<HttpPost>
Public Function AddValue(paziente As Newtonsoft.Json.Linq.JObject) As Boolean
Try
Dim row As New TB_ANAGRAFICA With {
.Nome = paziente.SelectToken("nome").ToString,
.Cognome = paziente.SelectToken("cognome").ToString,
.Data_di_nascita = paziente.SelectToken("data_di_nascita").ToString,
.Luogo_di_nascita = paziente.SelectToken("luogo_nascita").ToString,
.Codice_fiscale = paziente.SelectToken("codice_fiscale").ToString,
.Sesso = paziente.SelectToken("sesso").ToString,
.Stato = paziente.SelectToken("stato").ToString,
.Provincia_di_residenza = paziente.SelectToken("provincia_di_residenza").ToS tring,
.Città_di_residenza = paziente.SelectToken("città_residenza").ToString,
.Indirizzo_di_residenza = paziente.SelectToken("indirizzo_residenza").ToStri ng}


db.TB_ANAGRAFICA.Add(row)
db.SaveChanges()
Return True


Catch ex As Exception
Return False


End Try


End Function
End Class
End Namespace
203 messaggi dal 22 gennaio 2017
Contributi
Ciao _Fra,
Dal codice riportato l'errore avviene durante la deserializzazione dell'oggetto.
Ti consiglio di non utilizzare l'object initializer e di verificare ogni proprietà. Potrebbe esserci una proprietà con dei valori errati o nulli.

Potresti allegare anche la stringa json in ingresso?
Grazie
7 messaggi dal 19 settembre 2017
Ti ringrazio per il consiglio ma sono "obbligata" ad utilizzare l'object initializer perchè è una lavoro di tesi e mi hanno detto di utilizzarlo.


var obj = {
nome: _nome, cognome: _cognome, data_di_nascita: _data_di_nascita,
luogo_di_nascita: _luogo_di_nascita, codice_fiscale: _codice_fiscale, sesso: _sesso, indirizzo_di_residenza: _indirizzo_di_residenza,
città_di_residenza: _città_di_residenza, provincia_di_residenza: _provincia_di_residenza, stato: _stato
};

var JSONobj = JSON.stringify(obj);
$.ajax({
type: "POST",
url: "api/Anagrafica/AddValue",
data: JSONobj,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
if (!response) {
$("#message").text("Ci sono stati degli errori nel salvataggio dei dati");
$("#message").addClass("text-danger");
} else
$("#message").text("Dati salvati con successo");
$("#message").removeClass("text-danger");
$("#main")[0].reset();
$("#MsgBox").modal({
backdrop: 'static',
keyboard: false
});
},
failure: function () {
alert("Problema di connessione col server");
}
});
203 messaggi dal 22 gennaio 2017
Contributi
Ciao Fra_,
Il Json che crei non è uguale al Json che verifichi.
Ad esempio:
indirizzo_di_residenza è diverso da indirizzo_residenza
luogo_di_nascita è diverso da luogo_nascita
città_di_residenza è diverso da città_residenza

Ti chiedevo di togliere object initializer per poter comprendere, proprietà per proprietà, gli errori. Una volta corretto il codice, puoi rimetterlo :)
7 messaggi dal 19 settembre 2017
Riguardando il progetto mi ero accorto dell'errore, ti ringrazio per l'aiuto.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.