2012-01-30 35 views
6

Trong một số dự án tôi đã gặp những dòng này:Dấu chấm hỏi ở cuối tên tập tin có nghĩa là gì?

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

Về phía máy chủ các tập tin mà không bất kỳ biểu tượng thêm, vì vậy Tôi đang tự hỏi những gì hiện các dấu hỏi ở phần cuối của file nghĩa là gì?

Trả lời

5

? trong URL biểu thị sự bắt đầu của chuỗi truy vấn. Một ? ở cuối mà không có biến nào theo sau thường là một cách không cần thiết để nói "điều này hoàn toàn không có chuỗi truy vấn".

Ví dụ: để kiểm tra REQUEST_URI đến để xem kết thúc bằng ? và có hành động khác với yêu cầu không kết thúc bằng ? hay không. Nó sẽ phổ biến hơn nhiều để chỉ định một số giá trị trong chuỗi truy vấn.

+0

Trong trường hợp này, chuỗi truy vấn có thể được xây dựng từ các tham số được đưa ra trong đối số thứ hai cho hàm 'get()' (xem [tài liệu] (http://api.jquery.com/jQuery.get/)). – Tadeck

5

"?" là dấu phân cách để cung cấp đối số thông qua yêu cầu GET.

+0

Không nhất thiết - bạn cũng có thể gửi một chuỗi truy vấn trong một yêu cầu POST (hoặc bất kỳ yêu cầu nào khác). Xem RFC2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1 – Piskvor

+0

@Piskvor OK, cảm ơn. Tôi đã không xem xét khả năng đó ... – Abrixas2

+0

Đó là một tác dụng phụ không mong muốn IMHO; nhưng nó hoạt động trên các trình duyệt và máy chủ mà tôi đã thấy cho đến nay. – Piskvor

2

? nói rằng bạn đang cung cấp các đối số thông qua HTTP GET.

Ví dụ, nếu bạn muốn gửi a = 1, b = 2, bạn sẽ làm gì http://mysite.com/myfile.php?a=1&b=2

Shai.

Các vấn đề liên quan