24 messaggi dal 06 novembre 2014
Ciao a tutti, sto cercando di implementare jQuery autocomplete in una textbox in un progetto MVC5.
L'autocomplete effettua una chiamata in Ajax al database, di seguito il codice

<script>
        $("#city").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "cityJson",
                    type: "POST",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    data: "{ 'Prefix': '" + request.term + "'}",
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.Name, value: item.ID };
                        }))

                    }
                })
            },
            messages: {
                noResults: "", results: ""
            }
        });
</script>



nel controller il codice dell'action è il seguente
 [HttpPost]
        public JsonResult cityJson(string Prefix)
        {
            CRMcontext crmdb = new CRMcontext();
            var cities = crmdb.cities.Where(p => p.cityName.StartsWith(Prefix)).Select(p=> new {ID=p.ID, Name=p.cityName }).ToList();
            return Json(cities);
        }


Problema: la richiesta dovrebbe essere in POST ma viene effettuata in GET, questo è l'URL (che è corretto) generato dalla richiesta

https://localhost:44302/Admin/agents/cityJson?term=sa

Qualcuno mi può aiutare a capire cosa non va?

Grazie
10.265 messaggi dal 09 febbraio 2002
Contributi
Ciao,
che versione di jQuery stai usando? Il tuo codice sembra corretto. Come puoi vedere in questo fiddle, la tua richiesta ajax parte correttamente con il metodo POST.
https://jsfiddle.net/5gtn88go/

Come stai determinando che la richiesta viene inviata in GET anziché in POST? Hai effettivamente ispezionato la richiesta nel pannello degli strumenti di sviluppo del browser (tasto F12)?

Lato server, hai provato a mettere un breakpoint nella tua action cityJson e a verificare se l'esecuzione si interrompe in quel punto?

ciao,
Moreno
Modificato da BrightSoul il 07 settembre 2017 20.01 -

Enjoy learning and just keep making

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.