Per il metodo semplice possiamo utilizzare il metodo ActionReult per la nostra funzione C#, potendo restituire i dati di tipo stringa, numero, PartialView etc.
Ecco un esempio di codice Ajax per la chiamata di una funzione semplice:
//Chiamata alla porta se trovata
var port = window.location.port;
var url = "";
//Chiamata all'url assoluto pubblicato o locale
if (port === undefined || port == "" || port == null) {
url = window.location.protocol + "//" + window.location.hostname + "/";
} else {
url = window.location.protocol + "//" + window.location.hostname + ":" + port + "/";
}
//Chiamata AJAX
$.ajax({
url: url + 'ControllerPage/NOME_FUNZIONE',
data: {
//ID è il nome del parametro come dovrà essere richiamato nella nostra funzione
//mia_variabile è la nostra variabile javascript che passiamo
ID: mia_variabile,
ID2: mia_variabile2
},
type: "GET", //RICHIAMARE GET O POST
cache: false,
success: function (data) {
//SE ESEGUITA CORRETTAMENTE
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
//SE CI SONO STATI ERRORI NEL CHIAMARE LA FUNZIONE
console.log("Errore" + errorThrown);
}
});
Nel nostro caso stiamo passando alla nostra funzione C# due parametri con il metodo GET, quindi la nostra funzione sarà del tipo:
[RoutePrefix("ControllerPage"), Route("{action=index}")]
public class ControllerPage : Controller
{
[HttpGet]
public ActionResult NOME_FUNZIONE()
{
string risultato = "OK";
//ESEGUO LA MIA PROCEDURA IN BASE ALLA PROPRIA NECESSITA'
return Content(risultato);
}
}
-