从angularjs发送数据到DJANGO(sending data from angularjs

2019-06-24 06:44发布

我送使用Angularjs和$ HTTP模块Django的服务器POST AJAX请求。 下面是一个例子:

$http({ 
        method: 'POST', 
        url: '/url/', 
        data: 'test data'
  }).
  success(function(data, status, headers, config) {
        doSomeStuffWhenSuccess();
  });

问题是我在Django获得。 不管我怎么发送数据始终是关键QueryDict对象的那个值始终是一个空列表。

<QueryDict: {u'test data': [u'']}>

我没有线索,为什么。 我在想什么?

我使用几乎默认创建只有默认的中间件Django应用程序。 我只创建视图,设置在URL配置的URL。 Django的版本是1.3。 我配置角度的$ HTTP模块始终发送一个头方含CSRF令牌来满足Django的。

Answer 1:

我用jQuery PARAM功能解决了这个。 我认为这是更好的解决方案。

$http({ 
    method: 'POST', 
    url: '/url/', 
    data: $.param({test: data})
})

现在,它的工作原理是我想要的。



Answer 2:

我相信Django的认为你是发送urlencoded的形式,恩。 键=值键2 =值...

如果你想尝试:

$http({ 
    method: 'POST', 
    url: '/url/', 
    data: 'test=data'
})

你应该得到

<QueryDict: {u'test': [u'data']}>

您可以随时获取数据(原始正文内容),如下所示:

request.body

希望这是你在找什么。



文章来源: sending data from angularjs to django