如题,HTML代码如下:
<script language="JavaScript" type="text/javascript">
function fu() {
var a ={{ articles.title }};
$.ajax({
type: "post",
url: "/test",
contentType: "application/json; charset=UTF-8",
data: JSON.stringify(a),
success: function(data),
error: function(xhr, type) {
}
});
}
</script>
请问后台应该怎样写才能接收到前台传递的数据呢?
根据你的ajax请求配置url: "/test",这个url对应你在urls.py里面定义的views.py里面的某个方法,如:url(r'^/test$', views.test)。
在views.py里面:
def test(request):
data_key = request.POST.get('data_key') # 这里的POST或者是GET根据你ajax里面的配置决定,但是一定要大写
return JsonResponse({'key':data_key})
给你讲了一遍
<script language="JavaScript" type="text/javascript">
function fu() {
var a ={{ articles.title }};
$.ajax({
type: "post", //以post方式请求
url: "/test", // /test 这个就是你后台的方法路由,或者说虚拟地址。就是controller里的方法
contentType: "application/json; charset=UTF-8",
data: JSON.stringify(a), //这个是你传到后台的数据,但你这样不对。应该是data:{'data':JSON.stringify(a)},后台方法参数声明个data
success: function(data){
//这里是返回成功的时候执行
},
error: function(xhr, type) {
// 返回失败
}
});
}
</script>