Poniższy kod wyzwala GET zamiast żądania HTTP 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ę otrzymać POST?
Widzę w Google Chrome Inspect i Firefox Inspect, że przeglądarka wysyła GET. Oto z Chrome:
Adres URL żądania: http: // localhost / SAMPLE-CODES / UPDATE% 20MYSQL / api / add / Metoda żądania: GET Kod stanu: 200 OK
ROZWIĄZANY
Adres URL o nazwie „./api/add” miał faktycznie wysyłać 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 udane żądanie GET do „.api / add /”.