2012-01-30 36 views
6

在一些项目中,我见过这些行:文件名末尾的问号是什么意思?

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

在服务器端的这些文件,没有任何多余的符号,所以 我不知道是什么在文件末尾的问号是什么意思?

回答

5

URL中的?表示查询字符串的开头。 A ?最后没有变量后面通常是不必要的说法,“这绝对没有查询字符串”。

这将有可能例如URL重写引擎,以检查传入REQUEST_URI,看它是否与?结束,并采取比?没有结束请求一个不同的动作,但是这将是一个不寻常的用法。在查询字符串中指定一些值会更常见。

+0

在这种情况下,查询字符串可以从get()函数的第二个参数中给出的参数构造(参见[documentation](http://api.jquery.com/jQuery.get/))。 – Tadeck 2012-01-30 14:24:28

5

“?”是通过GET请求提供参数的分隔符。

+0

不一定 - 您也可以在POST(或任何其他)请求中发送查询字符串。请参阅RFC2616:http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1 – Piskvor 2012-01-30 14:11:04

+0

@Piskvor好的,谢谢。我只是没有考虑到这种可能性... – Abrixas2 2012-01-30 14:23:51

+0

它更多的是意想不到的副作用恕我直言;但它适用于迄今为止所见过的浏览器和服务器。 – Piskvor 2012-01-30 14:59:33

相关问题