向Django REST框架发送jQuery请求会导致找不到JSON对象错误

向Django REST框架发送jQuery请求会导致找不到JSON对象错误,jquery,python,ajax,django,django-rest-framework,Jquery,Python,Ajax,Django,Django Rest Framework,我正在使用Django的REST框架为API提供支持,并使用jQuery向其发送Ajax请求 以下旋度效果良好: curl -X POST -d '{"timeLogMins": 30, "personid": 3, "projectid": 8, "timeLogStart_dtm": "2013-07-18"}' -H "Content-Type: application/json" -u user:password http://localhost:8000/api/timelogests

我正在使用Django的REST框架为API提供支持,并使用jQuery向其发送Ajax请求

以下旋度效果良好:

curl -X POST -d '{"timeLogMins": 30, "personid": 3, "projectid": 8, "timeLogStart_dtm": "2013-07-18"}' -H "Content-Type: application/json" -u user:password http://localhost:8000/api/timelogests/
然而,当我使用jquery进行ajax调用时,我得到了一个错误

$.ajax({
    url: update_url2,
    contentType:"application/json",
    headers: {
        "Authorization": "Basic " + window.btoa("user:password"),
    },
    dataType: "json",
    data: {
            "timeLogMins":30,
            "personid":personid,
            "projectid":projectid,
            "timeLogStart_dtm":start_date
            },
    type: 'POST',

}).error(function(r){ console.log(r) })
.success(function(r){ console.log("success", r) })
设置标题可以正常工作,但数据似乎会返回:

"{"detail": "JSON parse error - No JSON object could be decoded"}"

我昨天开始使用REST框架,所以对它还是很陌生的。有没有办法截取请求头并检查JSON?REST框架请求对象不是很可见

事实证明,将发送的数据转换为实际字符串将使JSON可被框架读取。根据jQuery文档,这两种情况都应该发生,但它似乎破坏了这个特定的数据对象布局?这解决了我的问题,但我不确定出了什么问题。

事实证明,将发送的数据转换为实际字符串将使JSON能够被框架读取。根据jQuery文档,这两种情况都应该发生,但它似乎破坏了这个特定的数据对象布局?这解决了我的问题,但我不确定出了什么问题。如果我能找到答案,我会把它作为一个答案发布。看起来Json数据没有被正确创建,请您尝试使用硬代码值,比如{“timeLogMins”:30,“personid”:3,“projectid”:8,“timeLogStart\u dtm:“2013-07-18”}@AnshJ是的,请参阅我之前的评论。最终,这就是我最终要做的,发送一个字符串而不是一个对象,我还没有回答这个问题,因为我不确定jQuery为什么没有像它应该的那样处理数据对象。我猜这可能是“日期”的格式问题。