我正在使用 Django-Angular 并尝试发布表单并在后端获取数据..我能够实现此目的但却发现保存表单时页面正在重新加载。如何在没有页面渲染的情况下实现相同的目标?
forms.py
private PendingIntent createActionSendPendingIntent(int requestCode, Context context, String extraMessage){
Intent intent = new Intent(context, NotificationService.class);
intent.putExtra(NotificationService.MESSAGE_EXTRA, extraMessage);
return PendingIntent.getService(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
home.html的
def home(request):
if 'application/json' in request.META['CONTENT_TYPE']:
print 'hi'
print request.body
return render(request, 'home.html', {})
脚本
<form name="indexForm" ng-submit="submitForm()">
<div class="form-group">
<label>File Path</label>
<input type="text" name="path" class="form-control" ng-model="file.path">
</div>
<div class="form-group">
<label>File Name</label>
<input type="text" name="file_name" class="form-control" ng-model="file.file_name">
</div>
<div class="form-group">
<label>ext</label>
<input type="text" name="ext" class="form-control" ng-model="file.ext">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
请告诉我上面的代码发布数据的正确方法?我们如何发布数据从角度到后端(django)没有页面刷新
提前致谢...非常感谢任何帮助
答案 0 :(得分:0)
在您的家庭请求中,您不应该再次呈现页面,而是将字符串或一些JSON返回给客户端。如果你使用的是新版本的django,你可以这样做:
from django.http import JsonResponse
def home(request):
if 'application/json' in request.META['CONTENT_TYPE']:
print 'hi'
print request.body
return JsonResponse({'foo':'bar'})
return render(request, 'home.html', {})
答案 1 :(得分:0)
将type="submit
替换为type="button"
。然后,您可以使用ng-click="ctrl.foo()"
至少这是我到目前为止所做的。然而,查看文档表明这不是问题。