2011-12-04 76 views
2

我使用Django tastypie实现一个REST API,但我遇到了一个问题,我想不通:阿贾克斯放将返回500内部服务器错误

当我运行一个卷曲

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?什么是适当的工作?

+0

是什么错误说? – czarchaic

+0

我对'errorThrown'没有任何价值 –

回答

0

我想你使用的是不正确的数据类型,请尝试使用jsonp。 也可能是浏览器具体可以从jQuery:

请求的类型,使( “POST” 或 “GET”),默认是 “GET”。注意: 其他HTTP请求方法,例如PUT和DELETE,在这里也可以使用 ,但它们不受所有浏览器支持。

这个环节也可能是有用的:jquery - how to put json via ajax

相关问题