Django 1.7 w/ AJAX,我如何 - 或在哪里,清理要在 AJAX 请求中传递的输入
Django 1.7 w/ AJAX, how - or where, do I clean input to be passed in AJAX request
我有一个非常简单的django应用程序,它将一些表单输入传递到AJAX调用中。整个事情按原样运行良好,使用未清理的数据,但我想确保我只传递 [a-zA-Z],没有特殊的字符,也没有整数。最好在表单/模型字段上使用自定义验证器来处理这个问题吗?或者,在与 AJAX 请求关联的视图中清理它是否更好?
这是我的 AJAX 调用和相关视图的不完整片段。
$.ajax({
url : "/create_post/",
type : "POST",
data : {
first_name : $('#id_first_name').val(),
last_name : $('#id_last_name').val(),
department : $('#id_department').val()
},
视图的相关部分:
def create_post(request):
if request.method == 'POST':
first_name = request.POST.get('first_name')
last_name = request.POST.get('last_name')
department = request.POST.get('department')
...
results = search(first_name, last_name, department)
首先,您肯定希望在服务器上执行此操作。出于可用性原因,建议在 javascript 中进行验证,但它不能替代服务器端验证。
处理来自 JSON 请求的数据验证与任何其他视图相同:使用 django 表单。像往常一样设置字段,加载数据并调用is_valid
。
所以,像这样:
class UserForm(Form):
first_name = forms.RegexField(regex=r'$[a-zA-Z]^')
# ...etc
def create_post(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
return search(form.cleaned_data['first_name'], ...)
else:
# some sort of error response
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- "日期“;AJAX请求返回的类型值未定义
- 在等待ajax请求时显示微调器并禁用页面
- 跨域ajax请求
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax请求成功,但可以'我看不到我的数据
- 如何将给定的curl命令复制为jquery ajax请求
- 为什么我能够从javascript控制台发送跨域ajax请求
- 一台特定计算机的Ajax请求数据未定义/失败
- 获取ajax请求的请求头
- 原型Ajax请求参数为嵌套json
- 可以't从AJAX请求中筛选数据
- jQuery Mobile Collapse上的AJAX请求
- 暂停函数执行流程,直到ajax请求完成