Django + JQuery获取表单中的数据 + Ajax 发送数据
(注意表单中都得带csrf_token)
1.方法一:通过Jquery$("#对应form表单id).serializeArray()
获取表单数据,直接赋值给$.ajax中的
data。
.serializeArray()方法参见jQuery ajax - serializeArray() 方法
该方法放回一个JSON对象数组。
$("#postSubmit").click(function () {
let data = $("#postContent").serializeArray();
$.ajax({
url: '/decuhub/home-post-ajax',
method: 'POST',
data: data,
async: true,
success: function (result) {
console.log("post successfully!")
}
})
})
2.方法二:通过$("#对应form表单id).serializer()
获取表单数据:
$("#postSubmit").click(function () {
let data = $("#postContent").serializer();
$.ajax({
url: '/decuhub/home-post-ajax',
method: 'POST',
data: data,
async: true,
success: function (result) {
console.log("post successfully!")
}
})
})
3.方法三:不推荐
$("#postSubmit").click(function () {
let postContentForm = $("#postContent").serializeArray();
let data = { };
$.each(postContentForm, function(){
data[this.name] = this.value;
})
$.ajax({
url: '/decuhub/home-post-ajax',
method: 'POST',
data: data,
async: true,
success: function (result) {
console.log("post successfully!")
}
})
})
这种方法参见别人博客,也可,但是不推荐,$.each()
方法参考jQuery.each()方法
Django的request.post
获取到的值是
<QueryDict: {'csrfmiddlewaretoken': ['vO34OFZtTj2Bp2ARMlXVJxZQb37CyuWR7ywaDC4QaJhHtcxB4xB9fnb2IOnbQ2AR'], 'content': ['asdfsd']}>
还没有评论,来说两句吧...