1
jQuery(1.4.4)からCherryPyサーバー(3.1.2)へのDELETE HTTPリクエストを何らかの理由で送信しても何も送信されません。 POST、GET、PUTリクエストがパラメータを送信しています。ここでjQueryからCherryPyへのDELETE要求がパラメータを送信しない
はCherryPyにサーバーのコードは次のとおりです。
import cherrypy
class DeleteExample(object):
exposed = True
def PUT(self, *args, **kwargs):
print kwargs
def DELETE(self, *args, **kwargs):
print kwargs
global_conf = {'global': {'server.socket_port': 8080},
'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
'tools.staticdir.root': '/home/kevin/workspace/delete_example',
'tools.staticdir.on': True,
'tools.staticdir.dir': 'src',
'tools.staticdir.index': 'index.html'}
}
cherrypy.quickstart(DeleteExample(), config=global_conf)
、ここでは、jQueryのコードでのindex.htmlです:
<html>
<head>
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script>
$(document).ready(function() {
$.ajax({
type: "PUT",
url: "http://localhost:8080",
dataType: "json",
data: {first: 10, second: 200}
});
$.ajax({
type: "DELETE",
url: "http://localhost:8080",
dataType: "json",
data: {first: 10, second: 200}
});
});
</script>
</head>
<body>
</body>
</html>
これはCherryPyにウェブサーバからプリントアウトされているものです:
{'second': '200', 'first': '10'}
127.0.0.1 - - [23/Jan/2011:04:02:48] "PUT/HTTP/1.1" 200 19 "http://localhost:8080/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.04 (lucid) Firefox/3.6.13"
{}
127.0.0.1 - - [23/Jan/2011:04:02:51] "DELETE/HTTP/1.1" 200 19 "http://localhost:8080/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.04 (lucid) Firefox/3.6.13"
あなたが見ることができるように、.ajax関数を使って行われたPUTとDELETEリクエストは、タイプ。しかし、何らかの理由でPUTはすべてのパラメータを送信し、DELETEはパラメータを送信しません。
DELETE要求が適切なパラメータを送信していない理由は何ですか?