把django
的views.py
中的值用json.dumps(data)
通过{{data|safe}}
很轻松传进javascript
里,但是在js中完成操作想把值传回views.py
和数据库中怎么弄?
把django
的views.py
中的值用json.dumps(data)
通过{{data|safe}}
很轻松传进javascript
里,但是在js中完成操作想把值传回views.py
和数据库中怎么弄?
用Ajax
,Ajax
有很多种写法,包括JQuery
和JS
,这里贴一个用JQuery
写的最通用的Ajax
,POST
方法传递JSON
格式数据:
$.ajax({
url: "your url",
data: JSON.stringify({ // JSON格式封装数据
name: xxx,
age: xx
}),
contentType: 'application/json',
type: "POST",
traditional: true, // 需要传递列表、字典时加上这句
success: function(result) {
}
fail: function(result) {
}
});
然后view.py
里接收以上数据时,由于这里我用了JSON
格式传递,因此需要反序列化:
# coding=utf-8
import json
def func(request):
json_receive = json.loads(request.body)
name = json_receive['name']
age = json_receive['age']
...
如果不想在JS
里转换格式,直接传递的话,view.py
中这么写:
# coding=utf-8
def func(request):
# 如果Ajax使用了GET方法,把下面的POST换成GET即可
name = request.POST['name']
age = request.POST['age']
...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
写一个接收数据的控制器,把修改过的值POST或GET出去就可以了。
例如 http://example.com/set/a/newv...