【问题标题】:ajax put is returning 500 internal server errorajax put 正在返回 500 内部服务器错误
【发布时间】:2011-12-04 03:48:52
【问题描述】:

我正在使用 django sweetpie 来实现一个 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 吗?什么是正确的解决方法?

【问题讨论】:

  • 错误说明了什么?
  • 我没有得到 'errorThrown' 的任何值

标签: ajax django jquery put


【解决方案1】:

我认为您使用了不正确的数据类型,请尝试使用jsonp。 也可能是特定于浏览器的,来自 jQuery:

要发出的请求类型(“POST”或“GET”),默认为“GET”。笔记: 也可以使用其他 HTTP 请求方法,例如 PUT 和 DELETE 在这里,但并非所有浏览器都支持它们。

此链接也可能有用:jquery - how to put json via ajax

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 2016-09-16
    • 2016-06-19
    • 1970-01-01
    • 2019-11-12
    • 2016-08-20
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多