Il seguente codice attiva un GET invece di una richiesta HTTP POST.JQuery Ajax invia GET invece di POST
function AddToDatabase() {
this.url = './api/add';
}
AddToDatabase.prototype.postData = function(dataToPost) {
$.ajax({
type: "POST",
url: this.url,
data: dataToPost,
context: this,
success: this.onSuccess
});
};
var AddToDatabase = new AddToDatabase();
data = {data: 'coucou'};
AddToDatabase.postData(data);
Perché e come posso ottenere un POST?
Vedo in Google Chrome Inspect e Firefox Controllare che il browser invii un GET. Ecco da Chrome:
Richiesta URL: http: // localhost/sample-CODICI/UPDATE% 20MYSQL/api/aggiungere/ Richiesta Metodo: GET Codice di stato: 200 OK
risolto
L'URL chiamato './api/add' stato quello di inviare effettivamente './api/add/index.php'. Risulta che chiamare './api/add /index.php
' o './api/add /
' mi dà una richiesta POST.
Era solo un URL errato, ma per qualche motivo stavo ottenendo una richiesta GET di successo in ".api/add /".
Perché pensi che sarà una richiesta GET? –
Hai provato a eseguire la chiamata ajax su firefox con il pannello di rete aperto su firebug? – fcalderan
[Test] (http://jsfiddle.net/4gh7M/) - se esegui questa operazione e controlli il pannello di rete, scoprirai che invia una richiesta di posta –