调用RESTful webservice时遇到了一些问题
我现在正在google app引擎上运行Django 1.5项目
我在python中使用httplib来调用RESTful Web服务
所有方法(PUT,GET,DELETE,POST)都可以在我的本地机器上运行(python 2.7.5,Django 1.5)。
但是,GAE上的行为发生了变化......
PUT(用于存储用户在网站上编辑其信息的数据。),POST方法运行良好
GET方法有时无法从webservice服务器获取最新结果(不是google数据存储区,数据存储在其他数据库服务器中,我使用GET方法从该服务器获取数据)。
DELETE方法并不完全适用于GAE
这是我的代码:
import httplib
args = ""
headers = {"Accept":"application/json"}
conn = httplib.HTTPConnection(IP, 8080)
try:
conn.request("DELETE", Some_API_Method_Url, args, headers)
response = conn.getresponse()
res = response.read()
我无法弄清楚为什么会这样,希望有人可以帮助我:(
提前谢谢!
更新:
我刚刚找到了为什么DELETE方法不能基于此link工作
我使用以下代码向我的Django后端发送一个ajax请求,其中我的js文件中删除了类型:
$.ajax({
type:'DELETE',
url:'some_url',
data:JSON.stringify({'key':'value'}),
contentType: 'application/json; charset=utf-8',
dataType: "text",
success: function(data){...},
error: function(data){...}
});
似乎appspot不允许带有正文(数据)的DELETE请求 所以,我将AJAX请求的类型更改为POST,它可以工作......