2012-01-30 12 views
6

W pewnym projekcie poznałem te linie:Co oznacza znak zapytania na końcu nazwy pliku?

$.get("defaults/data.json?", ...); 
$.get("defaults/structure.html?", ...); 
$.get("defaults/style.css?", ...); 

Na stronie serwera te pliki bez żadnych dodatkowych symboli, więc Zastanawiam się co ma znak zapytania na końcu plików na myśli?

Odpowiedz

5

Numer ? w adresie URL oznacza początek ciągu zapytania. ? na końcu bez zmiennych po nim jest zwykle niepotrzebnym sposobem na powiedzenie "to absolutnie nie ma żadnego zapytania".

Byłoby to możliwe, na przykład przy pomocy silnika do przepisywania adresów URL, w celu sprawdzenia przychodzącego REQUEST_URI, aby sprawdzić, czy kończy się ono na ? i podjąć inną akcję niż żądania nie kończące się na ?, ale byłoby to nietypowe użycie. Znacznie częściej wystarczy podać jakąś wartość w ciągu zapytania.

+0

W tym przypadku ciąg zapytania może być skonstruowany z parametrów podanych w drugim argumencie do funkcji 'get()' (patrz [dokumentacja] (http://api.jquery.com/jQuery.get/)). – Tadeck

5

"?" jest separatorem do dostarczania argumentów za pomocą żądania GET.

+0

Niekoniecznie - możesz przesłać zapytanie na zapytanie POST (lub dowolne inne). Zobacz dokument RFC2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1 – Piskvor

+0

@Piskvor OK, dziękuję. Po prostu nie rozważałem tej możliwości ... – Abrixas2

+0

To bardziej niezamierzony efekt uboczny IMHO; ale działa na przeglądarkach i serwerach, które widziałem do tej pory. – Piskvor

Powiązane problemy