引言
ajax可以进行局部页面的刷新,那么如何应用ajax进行表单的提交和处理呢?
在网上看过一些资料,大都只是讲到了通过ajax将数据提交至后台,然而通过json格式提交至后台的数据还不能直接使用,需要做进一步处理。
本文就针对ajax提交表单和提交后的服务器端初步处理做一些概述。
前端:通过ajax实现表单的提交
前台样例
通过jQuery获取form表单,并进行数组形式的序列化。
前端的处理比较常规,ajax的使用在网上有很多参考资料,此不再赘述。
var form_data = JSON.stringify($('#data_form').serializeArray());
这里也可以使用serialize()方法进行非数组形式的序列化,传到服务器端行程以 &name=value 形式的字符串,不过对字符串的处理方式就要另想办法了。
这里只讨论使用数组形式的序列化在服务器端的处理。
$.ajax({
type: 'post',
url: '{% url "manager_update" %}',
data: {
data: form_data, csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val()},
// 通过POST方式传递数据时,需要添加csrf token
// csrfmiddlewaretoken: $('[name="csrfmiddlewaretoken"]').val()
success: function(data){
console.log(data);
alert('submitted successfully!')
},
error: function(data){
console.log('Error', data)