邹城外贸网站建设,深圳网站优化价格,作弊网站,站酷网海报素材图片前端后端传值问题总结前端传给后端通过表单传值1、通过表单get请求传值在前端当通过get的方式传值时#xff0c;表单中的标签的name值将会被当做action的地址的参数此时#xff0c;在后端可以通过get请求相应的name值拿到对应的value值例子:html中:{% csrf_token %}类别{% fo…前端后端传值问题总结前端传给后端通过表单传值1、通过表单get请求传值在前端当通过get的方式传值时表单中的标签的name值将会被当做action的地址的参数此时在后端可以通过get请求相应的name值拿到对应的value值例子:html中:{% csrf_token %}类别{% for art in art_list %}{{ art }}{% endfor %}视图中:def select_art(request,id):if request.method GET:que request.GET.get(que)request.session[que] que拿到的值可以存入session中在前端可以通过{{ request.session[que] }}拿到对应的值最后一页2、表单通过post请求传值当前端通过post传值时在视图中可以通过POST请求拿到对应的表单中的name属性对应的value值通过ajax传值POST -----------------------------------通过ajax的post请求可以将html页面的值传到对应的视图函数中在后端可以通过request.POST.get(键)获得前端通过ajax的data中的值request.POST获取ajax传递的所有数据注意:如果前端的dataType是json格式后端的返回数据应该也是json格式否则会请求不成功(但是可以接收前端ajax传输过来的值)。将后端数据变为jsoon格式如下:resp 请求成功rereturn HttpResponse(json.dumps(resp))或者return JsonResponse(data)例子~有些地方写多余了:html页面:$(function(){$(#t1 a,#tz a).on(click,function(){id $(this).attr(class)ta $(this).text()t $(this)$.ajax({url:/backweb/index/,dataType:json,type:POST,data:{ta: ta,id:id},success:function(data){if (ta 推荐){t.text(不推荐)}else if (ta 不推荐){t.text(推荐)}else if(ta 展示){t.text(不展示)}else if (ta 不展示){t.text(展示)}},error:function(){alert(请求失败)}})})})注意jqery中如果事件绑定了多个标签想要知道点击的标签可以使用$(this)获得。通过标签对象.text()可以获得标签中的值。通过标签对象.val()可以获得标签的value值(例如在表单中的值)通过标签对象.attr(标签属性名)可以获得标签属性对应的值以上的方法都可以给参如果有参就代表修改属性值。可以在标签中定义一个属性动态生成值此时可以在绑定的时间函数中传入一个同样的参数就可以在js中获取当前的被点击的标签function addToCart(good_id){$(#num_ good_id).html(data.data.c_num)}ajax中不能通过$(this)获得当前触发的标签但是可以在ajax之外将对象获取在ajax中的函数中使用。GET-----------------------------语法$(selector).get(url,data,success(response,status,xhr),dataType)这是一个简写的GET请求功能参数url:必选规定将请求发送到哪个URLdata:可选。规定联通请求发送到服务器的数据success(response,status,xhr):可选。当请求成功时执行的函数。额外参数:response - 包含后台传送回来的数据status - 包含请求的状态xhr - 包含XMLHttpRequest对象dataType:可选。规定预计的服务器相应的数据类型。默认的jQuery将只能判断。可能的类型:xml html text script json jsonp等价于$.ajax({url: url,data: data,success: success,dataType: dataType});实例1、请求test.php网页传送两个参数$.get(test.php, { name: John, time: 2pm } );2、显示 test.php 返回值(HTML 或 XML取决于返回值)$.get(test.php, function(data){alert(Data Loaded: data);});3、显示 test.cgi 返回值(HTML 或 XML取决于返回值)添加一组请求参数$.get(test.cgi, { name: John, time: 2pm },function(data){alert(Data Loaded: data);});后端传给前端当我们需要给前台中传递数据时可以使用以下的方法:1、传递数据和html渲染不进行复杂的数据处理使用render()将数据传给对应的html页面字典的值可以是数字、字符串、列表、字典、object、Queryset等return render(request, backweb/article_detail.html,{types: typess})在html中使用{{ 键 }}来获取数据 --- {{ types }}可以可迭代的数据进行迭代{% for type in types %}type{% endfor %}也可以进行{% if %} {% else %}操作注意格式:必须有结尾{% endif %}2、传递数据给js使用 --- 例如ajax请求此时views视图中的函数中的值要用json.dumps()处理成json格式import jsonfrom django.shortcuts import renderdef main_page(request):list [view, Json, JS]return render(request, index.html, {List: json.dumps(list),})在前js中使用时需要加safe过滤器 --- var List {{ List|safe }};ajax异步刷新例子:js中:function getSceneId(scece_name, td) {var post_data {name: scece_name,};$.ajax({url: {% url scene_update_url %},type: POST,data: post_data,success: function (data) {data JSON.parse(data);if (data[status] 1) {setSceneTd(data[result], scece_name, td);} else {alert(data[result]);}}});}success:function(data,status,xhr){} --- data:请求成功时调用的函数 status:描述状态的字符串 xhr:jqXHR模板中:def scene_update_view(request):if request.method POST:name request.POST.get(name)status 0result Error!return HttpResponse(json.dumps({status: status,result: result}))JS 发送ajax请求后台处理请求并返回status, result --- ajax的数据类型为定义为json所以返回的数据也得是json不然请求失败(请求失败不代表数据传不到后台只是后台的数据会返回失败)在 success: 后面定义回调函数处理返回的数据需要使用 JSON.parse(data)以上这篇浅谈Django前端后端值传递问题就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持我们。本文标题: 浅谈Django前端后端值传递问题本文地址: http://www.cppcns.com/jiaoben/python/325309.html