Poniższy kod wyzwala GET zamiast żądania HTTP POST.Ajax JQuery wysyła GET zamiast 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);
Dlaczego i jak mogę uzyskać POST?
Widzę w Google Chrome Inspect i Firefox Sprawdź, czy przeglądarka wysyła GET. Oto z Chrome:
Zapytanie URL: http: // localhost/Sample-KODY/UPDATE% 20MYSQL/api/dodać/ żądania metoda: GET kodem stanu: 200 OK
SOLVED
adresu URL o nazwie './api/add' był rzeczywiście pisać do './api/add/index.php'. Okazuje się, że wywołanie "./api/add /index.php
" lub "./api/add /
" daje mi żądanie POST.
To był po prostu zły adres URL, ale z jakiegoś powodu otrzymałem pomyślne żądanie GET do ".api/add /".
Dlaczego sądzisz, że będzie to żądanie GET? –
Czy próbowałeś uruchomić wywołanie ajax na firefox z panelu netto otwarty na firebug? – fcalderan
[Test] (http://jsfiddle.net/4gh7M/) - jeśli uruchomisz to i sprawdzisz panel sieciowy, przekonasz się, że wysyła on prośbę o wpis: –