Javascript 从AngularJS调用Django视图函数

Javascript 从AngularJS调用Django视图函数,javascript,angularjs,django,Javascript,Angularjs,Django,我想在加载页面时获取现有用户的列表。从Angular脚本获取信息时,一切都正常,但它将存储在服务器端。我提出了Django的观点: def getUsers(request): response = {} response['user'] = { 'username': 'guy1', 'password': 'guy1', 'fName': 'John', 'lName': 'Smith', 'email': 'guy1@host.com', '

我想在加载页面时获取现有用户的列表。从Angular脚本获取信息时,一切都正常,但它将存储在服务器端。我提出了Django的观点:

def getUsers(request):
response = {}
response['user'] = {
    'username': 'guy1',
    'password': 'guy1',
    'fName': 'John',
    'lName': 'Smith',
    'email': 'guy1@host.com',
    'role': 'Employee',
    'theme': 'default'
}
return JsonResponse(response)
目前,我只是将我的用户传递到那里,稍后它将填充来自postgre DB的信息。我想我已将url设置正确:

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^', views.dashboard, name='dashboard'),
    url(r'getUsers/', views.getUsers),
]
最后,当页面加载时,我从角度调用视图:

$http.get("getUsers")
    .then(function(output) {
        $scope.testUser = output;
        console.log($scope.testUser);
    });
当我运行所有程序时,浏览器控制台会出现错误的提示


你知道我做错了什么吗?谢谢。

我想在这里做两件事。首先,将URL模式更改为如下所示:

url(r'^getUsers/$', views.getUsers),
$http.get("getUsers/")
  .then(function(output) {
    $scope.testUser = output;
    console.log($scope.testUser);
});
其次,将AngularJS代码更改为如下所示:

url(r'^getUsers/$', views.getUsers),
$http.get("getUsers/")
  .then(function(output) {
    $scope.testUser = output;
    console.log($scope.testUser);
});

Django对URL上的/being或not很敏感。改变上面的URL模式可以明确它应该寻找什么。在您最初的情况下,该模式将在getUsers或getUsers/abc或getUsers/12345等上匹配。

这里我将做两件事。首先,将URL模式更改为如下所示:

url(r'^getUsers/$', views.getUsers),
$http.get("getUsers/")
  .then(function(output) {
    $scope.testUser = output;
    console.log($scope.testUser);
});
其次,将AngularJS代码更改为如下所示:

url(r'^getUsers/$', views.getUsers),
$http.get("getUsers/")
  .then(function(output) {
    $scope.testUser = output;
    console.log($scope.testUser);
});

Django对URL上的/being或not很敏感。改变上面的URL模式可以明确它应该寻找什么。在您最初的案例中,该模式将与getUsers或getUsers/abc或getUsers/12345等匹配。

我猜这是一个错误的请求,看看完整的url是否包含正确的服务器,就像我猜这是一个错误的请求一样,看看完整的url是否包含正确的服务器,就像非常感谢,这似乎已经解决了它,我现在在浏览控制台中传递数据。非常感谢,这似乎解决了问题,我现在在浏览控制台中传递数据。