Sto provando a scrivere nel mio database usando AJAX/Jquery e C#. Ogni volta che passo il parametro nel codice C# lo mostra come nullo. Sto usando il modello predefinito che lo studio visivo genera durante la creazione di una classe controller. Qualsiasi aiuto sarebbe apprezzato!AJAX & Web Api Post Method - Come funziona?
NOte: questo è un servizio di assistenza che sto tentando di chiamare. (. Un sito web regolare ASP ... non MVC Inoltre, l'API REST GET funziona perfettamente.)
Jquery/AJAX:
var dataJSON = { "name": "test" }
$('#testPostMethod').bind("click", GeneralPost);
function GeneralPost() {
$.ajax({
type: 'POST',
url: '../api/NewRecipe',
data:JSON.stringify(dataJSON),
contentType: 'application/json; charset=utf-8',
dataType: 'json'
});
}
C#
//If I remove the [FromBody] Tag then when I click the button this method is never called.
public void Post([FromBody]string name)
{
}
EDIT:
Ho modificato leggermente il mio codice ma sto ancora riscontrando lo stesso problema. Per ricapitolare, sta caricando il metodo POST, ma sta passando in null.
C#
public class RecipeInformation
{
public string name { get; set; }
}
public void Post(RecipeInformation information)
{
}
AJAX:
var dataJSON = { information: { name: "test" } };
$('#testPostMethod').bind("click", GeneralPost);
console.log(dataJSON);
function GeneralPost() {
$.ajax({
type: 'POST',
url: '../api/NewRecipe',
data: dataJSON,
contentType: 'application/json; charset=utf-8',
});
}
La parte 'Post (nome stringa)' di un'applicazione MVC, un servizio Web o cosa? – Yuck
È questo MVC o ASP? – Rob
Siamo spiacenti, questo è ASP - un servizio di Rest. Il GET funziona perfettamente. – Yecats