Perché il parametro è sempre nullo quando chiamo il metodo Post riportato di seguito con ajax?Web Api Parametro sempre nullo
public IEnumerable<string> Post([FromBody]string value)
{
return new string[] { "value1", "value2", value };
}
Ecco la chiamata al metodo API Web tramite la tecnologia AJAX:
function SearchText() {
$("#txtSearch").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "api/search/",
data: "test",
dataType: "text",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
}
});
}
Parte molto utile: il carico utile POST per essere in questa forma '= somevalue' ... Sono diventato pazzo cercando di capire perché non funziona per me. L'ho avuto nella forma 'chiave = valore'. Quindi grazie! – Learner
La soluzione superiore con '=' + è un buon compromesso, ma non è necessario specificare il tipo di contenuto perché il tipo di contenuto ajax predefinito è "contentType: 'application/x-www-form-urlencoded; charset = utf-8 ', ":] – dlght