我正在使用CherryPy开发Web API。目的是通过nslXMLHttpRequest通过JavaScript访问它。当我通过Firefox访问API时(好像它是一个普通的URL),我的日志中会出现以下内容:
!!!SUCCESS!!!
[my IP] - - [30/Sep/2011:08:30:19] "GET /myAPI/ HTTP/1.1" 200 11 "" "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2"
那“!!! SUCCESS !!!”在myAPI页面上运行的代码的开头打印。但是当我通过JavaScript访问它时,我的日志中会出现以下内容:
[my IP] - - [30/Sep/2011:08:32:19] "GET /myAPI?arg1=value1&arg2=value2 HTTP/1.1" 301 221 "[requesting page]" "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2"
(这些参数是可选的)
请注意,在第二种情况下,!!! SUCCESS !!!从未打印过(我的代码从未执行过),状态代码为301 - “永久移动”。知道什么会导致CherryPy这样做吗?
答案 0 :(得分:3)
可能是因为/myAPI
和/myAPI/
不是相同的URI,所以它会将您从一个重定向到另一个。您可以使用http://docs.cherrypy.org/dev/refman/lib/cptools.html#cherrypy.lib.cptools.trailing_slash