为什么我的 Angular 前端不会将正确的 $http.get 参数传递给 Django 后端?
Why won't my Angular front-end pass correct $http.get parameters to Django back-end?
我有一个由 Angular/Javascript 编写的前端客户端和 Python/Django 编写的后端服务器组成的 Web 应用程序。
我正在尝试从客户端向服务器发出一个简单的 http GET 请求,但它无法正常工作。它失败的原因是由于某些未知原因,参数没有正确传递。
这是在我的客户端上调用的代码行:
$http.get(API + '/api/getProfile', {'profileId':5}).then(console.log('A'), console.log('B'));
下面是我服务器上的相关代码行:
class GetProfileAPI(views.APIView):
def get(self, request, *args, **kwargs):
logger.info("request.get_full_path() = %s" % request.get_full_path())
profile_id_arg = request.GET.get('profileId')
logger.info("profile_id_arg = %s (%s)" % (profile_id_arg, type(profile_id_arg)))
# Do something here if profile_id_arg is not None.
当我 运行 这段代码时,我希望服务器端的 profile_id_arg
是字符串 5
。但是看看我得到的输出:
request.get_full_path() = /api/getProfile
profile_id_arg = None (<type 'NoneType'>)
为什么 profile_id
没有被正确接收,我该如何解决这个问题?代码示例会有所帮助。
HTTP GET 请求不能包含要发布到服务器的数据。但是,您可以向请求添加查询字符串。
$http.get(API + '/api/getProfile', {params:{'profileId':5}})
.then(function (response) { /* */ })...
或
$http({
url: API + '/api/getProfile',
method: "GET",
params: {'profileId':5}
});
我有一个由 Angular/Javascript 编写的前端客户端和 Python/Django 编写的后端服务器组成的 Web 应用程序。
我正在尝试从客户端向服务器发出一个简单的 http GET 请求,但它无法正常工作。它失败的原因是由于某些未知原因,参数没有正确传递。
这是在我的客户端上调用的代码行:
$http.get(API + '/api/getProfile', {'profileId':5}).then(console.log('A'), console.log('B'));
下面是我服务器上的相关代码行:
class GetProfileAPI(views.APIView):
def get(self, request, *args, **kwargs):
logger.info("request.get_full_path() = %s" % request.get_full_path())
profile_id_arg = request.GET.get('profileId')
logger.info("profile_id_arg = %s (%s)" % (profile_id_arg, type(profile_id_arg)))
# Do something here if profile_id_arg is not None.
当我 运行 这段代码时,我希望服务器端的 profile_id_arg
是字符串 5
。但是看看我得到的输出:
request.get_full_path() = /api/getProfile
profile_id_arg = None (<type 'NoneType'>)
为什么 profile_id
没有被正确接收,我该如何解决这个问题?代码示例会有所帮助。
HTTP GET 请求不能包含要发布到服务器的数据。但是,您可以向请求添加查询字符串。
$http.get(API + '/api/getProfile', {params:{'profileId':5}})
.then(function (response) { /* */ })...
或
$http({
url: API + '/api/getProfile',
method: "GET",
params: {'profileId':5}
});