2010-02-18 7 views
5

Questo è da jQuery documentazione API():Devo usare POST o DELETE verbo in funzione jQuery.ajax

typeString di default: 'GET' Il tipo di richiesta di fare ("POST" o " GET "), il valore predefinito è" GET ". Nota: qui possono essere utilizzati anche altri metodi di richiesta HTTP, come PUT e DELETE, ma non sono supportati da tutti i browser.

Ho intenzione di fare AJAX eliminare i collegamenti con jQuery. Quello che vorrei sapere sono le specifiche sul supporto del browser per DELETE e PUT. Quali browser lo supportano? È più sicuro che vada con il POST?

Dato che lavoro in ASP.NET MVC, posso decorare le azioni del mio controller sia con DELETE che con POST in modo che entrambe possano essere accettate.

+2

Duplicato: http://stackoverflow.com/questions/165779/are-the-put-delete-head-etc-methods-available-in-most-web-browsers –

risposta

5

Vai con POST. Non devi preoccuparti del supporto del browser e i futuri manutentori del tuo codice capiranno cosa sta andando bene.

+3

Non solo il supporto del browser, ma anche il supporto del server . DELETE non è comunemente visto al di fuori di WebDAV (http://en.wikipedia.org/wiki/Webdav) – Powerlord

-3

Se tutto quello che stai facendo è l'eliminazione di un elemento con un certo ID, Get dovrebbe soddisfare i vostri scopi: http://www.diffen.com/difference/Get_vs_Post

solo assicurarsi di gestire un caso in cui qualcuno cerca di cancellare qualcosa che è già cancellato

+7

GET è una cosa ** cattiva ** da fare quando gli URL manipolano un archivio persistente come un DB. Cosa succede se un motore di ricerca l'ha seguito? –

+0

Nessun modo per ottenere GET. Rischi per la sicurezza – mare

+0

Non si dovrebbe fare una cancellazione tramite GET, ciò implica che nessun dato viene modificato ... – Nate

0

Estratto dal valore forma e invia una richiesta, chiamare Html.HttpMethodOverride (HttpVerbs.Delete) in forma.