ajax put 返回 500 内部服务器错误
我正在使用 django tastypie 来实现 REST api,但遇到了一个我无法弄清楚的问题:
当我运行curl 时,
curl -H "Content-Type: application/json" -X PUT --data '{"title": "my video", "date_created": "2007-03-07T14:48:22"}' http://localhost:8080/api/v1/video/1/
它可以工作并按预期更改内容。
但是,当我尝试通过浏览器执行此操作时,调用如下命令:
$.ajax({
url: 'http://localhost:8080/api/v1/video/1/',
type: 'PUT',
data: JSON.stringify(mydata),
success: check,
dataType: 'text/html',
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
},
});
我收到 500 内部服务器错误
我不知道这是为什么......这是因为浏览器不再支持 PUT 吗?正确的解决方法是什么?
I'm using django tastypie to implement a REST api but am running into a problem i can't figure out:
When I run a curl
curl -H "Content-Type: application/json" -X PUT --data '{"title": "my video", "date_created": "2007-03-07T14:48:22"}' http://localhost:8080/api/v1/video/1/
This works and changes the content as expected.
However when I try to do this through the browser with a call like:
$.ajax({
url: 'http://localhost:8080/api/v1/video/1/',
type: 'PUT',
data: JSON.stringify(mydata),
success: check,
dataType: 'text/html',
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
},
});
I get a 500 Internal Server Error
I have no idea why this is....is this because browsers no longer support PUT? What's the proper work around?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您使用的数据类型不正确,请尝试使用
jsonp
。也可能是特定于浏览器的,来自 jQuery:
此链接也可能有用:jquery - how to put json via ajax
I think you are using the incorrect dataType, try using
jsonp
.May also be browser specific, from jQuery:
This link may also be useful: jquery - how to put json via ajax