从angularjs发送数据的Django数据、angularjs、Django

2023-09-11 00:36:48 作者:走开我要放屁!

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

I am sending a POST AJAX request using Angularjs and its $http module to Django server. Here is an example:

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

现在的问题是我所得到的Django的。不管是什么我发送的数据始终的QueryDict 目标和价值的关键,就是始终空列表。

The problem is what I get in Django. No matter what I send the data is always the key of QueryDict object and value of that is always an empty list.

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

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

I don't have a clue why. What am I missing?

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

I use almost default created Django application with default middlewares only. I created only a view and set an url in url config. Version of Django is 1.3. And I configured angular's $http module to always send a header containg csrf token to satisfy Django.

推荐答案

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

I resolved this with jQuery param function. I think it's more elegant solution.

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

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

Now it works like I wanted.