日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

淺談Django前端后端值傳遞問題

瀏覽:28日期:2024-09-25 11:05:53

前端后端傳值問題總結(jié)

前端傳給后端

通過表單傳值

1、通過表單get請求傳值

在前端當(dāng)通過get的方式傳值時,表單中的標(biāo)簽的name值將會被當(dāng)做action的地址的參數(shù)

此時,在后端可以通過get請求相應(yīng)的name值拿到對應(yīng)的value值

例子:

html中:

<form action='{% url ’backweb:select_art’ %}' method='post'> {% csrf_token %} <section class='mtb'> <select class='select'> <option value='類別' name='class'>類別</option> {% for art in art_list %} <option value='{{ art }}'>{{ art }}</option> {% endfor %} </select> <input name='art_name' type='text' placeholder='輸入要查詢的文章標(biāo)題'/> <input type='submit' value='查詢' /> </section> </form>

視圖中:

def select_art(request,id): if request.method == ’GET’: que = request.GET.get(’que’) request.session[’que’] = que

拿到的值可以存入session中,在前端可以通過{{ request.session[que] }}拿到對應(yīng)的值

<a href='http://www.b3g6.com/bcjs/{% url ’backweb:select_art’ %}?page={{ page.paginator.num_pages }}&que={{ request.session.que }}' rel='external nofollow' >最后一頁</a>

2、表單通過post請求傳值

當(dāng)前端通過post傳值時,在視圖中可以通過POST請求拿到對應(yīng)的表單中的name屬性對應(yīng)的value值

通過ajax傳值

POST -----------------------------------

通過ajax的post請求可以將html頁面的值傳到對應(yīng)的視圖函數(shù)中,在后端可以通過request.POST.get(鍵)獲得前端通過ajax的data中的值,request.POST獲取ajax傳遞的所有數(shù)據(jù)

注意:如果前端的dataType是json格式,后端的返回數(shù)據(jù)應(yīng)該也是json格式,否則會請求不成功(但是可以接收前端ajax傳輸過來的值)。

將后端數(shù)據(jù)變?yōu)閖soon格式如下:

resp = ’請求成功re’

return HttpResponse(json.dumps(resp))

或者

return JsonResponse(data)

例子~有些地方寫多余了:

html頁面:

<script type='text/javascript'> $(function(){ $(’#t1 a,#tz a’).on(’click’,function(){ id = $(this).attr(’class’) ta = $(this).text() t = $(this) <!--alert(id)--> <!--alert($(this).text())--> $.ajax({ url:’/backweb/index/’, dataType:’json’, type:’POST’, data:{ ta: ta, id:id }, success:function(data){ <!--alert(data)--> if (ta == ’推薦’){ t.text(’不推薦’) }else if (ta == ’不推薦’){ t.text(’推薦’) }else if(ta == ’展示’){ t.text(’不展示’) }else if (ta == ’不展示’){ t.text(’展示’) } }, error:function(){ alert(’請求失敗’) } }) }) })</script>

注意:

jqery中

如果事件綁定了多個標(biāo)簽,想要知道點(diǎn)擊的標(biāo)簽可以使用$(this)獲得。

通過標(biāo)簽對象.text()可以獲得標(biāo)簽中的值。

通過標(biāo)簽對象.val()可以獲得標(biāo)簽的value值(例如在表單中的值)

通過標(biāo)簽對象.attr(標(biāo)簽屬性名)可以獲得標(biāo)簽屬性對應(yīng)的值

以上的方法都可以給參,如果有參就代表修改屬性值。

可以在標(biāo)簽中定義一個屬性動態(tài)生成值

<span id='num_{{ good.id }}'></span>

此時可以在綁定的時間函數(shù)中傳入一個同樣的參數(shù),就可以在js中獲取當(dāng)前的被點(diǎn)擊的標(biāo)簽

<button onclick='addToCart({{ good.id }});'>+</button> function addToCart(good_id){ $(’#num_’+ good_id).html(data.data.c_num) }

ajax中不能通過$(this)獲得當(dāng)前觸發(fā)的標(biāo)簽,但是可以在ajax之外將對象獲取,在ajax中的函數(shù)中使用。

GET-----------------------------

語法:$(selector).get(url,data,success(response,status,xhr),dataType)

這是一個簡寫的GET請求功能

參數(shù):

url:必選規(guī)定將請求發(fā)送到哪個URL

data:可選。規(guī)定聯(lián)通請求發(fā)送到服務(wù)器的數(shù)據(jù)

success(response,status,xhr):可選。當(dāng)請求成功時執(zhí)行的函數(shù)。

額外參數(shù):

response - 包含后臺傳送回來的數(shù)據(jù)

status - 包含請求的狀態(tài)

xhr - 包含XMLHttpRequest對象

dataType:可選。規(guī)定預(yù)計的服務(wù)器相應(yīng)的數(shù)據(jù)類型。默認(rèn)的,jQuery將只能判斷。

可能的類型:

xml html text script json jsonp

等價于

$.ajax({ url: url, data: data, success: success, dataType: dataType});

實(shí)例:

1、請求test.php網(wǎng)頁,傳送兩個參數(shù)

$.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,取決于返回值),添加一組請求參數(shù):

$.get('test.cgi', { name: 'John', time: '2pm' }, function(data){ alert('Data Loaded: ' + data); });

后端傳給前端

當(dāng)我們需要給前臺中傳遞數(shù)據(jù)時,可以使用以下的方法:

1、傳遞數(shù)據(jù)和html渲染,不進(jìn)行復(fù)雜的數(shù)據(jù)處理

使用render()將數(shù)據(jù)傳給對應(yīng)的html頁面,字典的值可以是數(shù)字、字符串、列表、字典、object、Queryset等

return render(request, ’backweb/article_detail.html’,{’types’: typess})

在html中使用{{ 鍵 }}來獲取數(shù)據(jù) --- {{ types }}

可以可迭代的數(shù)據(jù)進(jìn)行迭代

{% for type in types %}

<p>type<p>

{% endfor %}

也可以進(jìn)行{% if %} {% else %}操作,注意格式:必須有結(jié)尾{% endif %}

2、傳遞數(shù)據(jù)給js使用 --- 例如ajax請求

此時views視圖中的函數(shù)中的值要用json.dumps()處理成json格式

import jsonfrom django.shortcuts import render def 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:請求成功時調(diào)用的函數(shù) status:描述狀態(tài)的字符串 xhr:jqXHR

模板中:

def scene_update_view(request): if request.method == 'POST': name = request.POST.get(’name’) status = 0 result = 'Error!' return HttpResponse(json.dumps({ 'status': status, 'result': result }))

JS 發(fā)送ajax請求,后臺處理請求并返回status, result --- ajax的數(shù)據(jù)類型為定義為json,所以返回的數(shù)據(jù)也得是json,不然請求失敗(請求失敗不代表數(shù)據(jù)傳不到后臺,只是后臺的數(shù)據(jù)會返回失敗)

在 success: 后面定義回調(diào)函數(shù)處理返回的數(shù)據(jù),需要使用 JSON.parse(data)

以上這篇淺談Django前端后端值傳遞問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品99久久免费| 国产精久久一区二区| 久久97视频| 国产精品大片| 国产精品美女在线观看直播| 国产精品一区二区三区四区在线观看| 日韩精品亚洲专区在线观看| 免费久久久久久久久| 日日摸夜夜添夜夜添国产精品| 亚洲神马久久| 丝袜美腿亚洲一区| 中文字幕日韩亚洲| 亚洲精品日本| 91成人小视频| 国产精品白丝av嫩草影院| 免费的成人av| 亚洲日本欧美| 日本精品在线播放| 国产区精品区| 久久永久免费| 日韩大片在线观看| 激情欧美一区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲三级网站| 国产极品嫩模在线观看91精品| 免费一级欧美在线观看视频| 国产成人免费视频网站视频社区| 中文在线а√在线8| 亚洲午夜电影| 亚洲伊人影院| 免费不卡在线视频| 18国产精品| 国产不卡精品| 黄色亚洲精品| 欧美亚洲一级| 高清不卡亚洲| 六月丁香综合| 欧美黄页在线免费观看 | 激情欧美一区二区三区| 免费人成黄页网站在线一区二区| 91精品国产自产精品男人的天堂 | 欧美国产中文高清| 国产成人免费av一区二区午夜| 婷婷成人基地| 欧美亚洲自偷自偷| 欧美成人基地| 亚洲欧洲日韩精品在线| 国产精品天天看天天狠| 日韩精品免费一区二区三区| 国产精品毛片在线看| 国产精品久久久一区二区| 高清av不卡| 亚洲精品进入| 国产第一亚洲| 日韩精品一级二级| 精品免费视频| 日韩一区欧美二区| 精品中文字幕一区二区三区四区| 午夜精品婷婷| 欧美激情亚洲| 国产高清一区| 欧美激情在线精品一区二区三区| 女人av一区| 久久一区亚洲| 西西人体一区二区| 精品一区二区三区在线观看视频 | 老牛国产精品一区的观看方式| 欧美日韩xxxx| 国产在线欧美| 国产精品二区影院| 性欧美69xoxoxoxo| 欧美aⅴ一区二区三区视频| 妖精视频成人观看www| 精品亚洲成人| 日本不卡视频在线观看 | 亚洲乱码一区| 天堂网av成人| 欧美a级一区二区| 亚洲综合国产| 日韩中文影院| 久久精品99久久久| 美女网站久久| | 在线中文字幕播放| 国产免费av国片精品草莓男男| 尤物在线精品| 日韩一区电影| 麻豆精品久久| 日韩不卡一二三区| 亚洲欧美日本国产专区一区| 四虎4545www国产精品| 国产精品一区高清| 亚洲日本免费电影| 香蕉成人av| 黄色网一区二区| 日本va欧美va精品| 手机精品视频在线观看| 亚洲不卡av不卡一区二区| 免费在线成人| 日韩av不卡在线观看| 午夜一级久久| 欧美美女一区| 亚洲天堂黄色| 久久精品91| 中文在线中文资源| 蜜桃久久久久| 国产高清亚洲| 日本欧美韩国一区三区| 天堂av在线一区| 久久婷婷亚洲| 亚洲91精品| 在线中文字幕播放| 国产欧美日韩视频在线| 日韩中文字幕一区二区高清99| 亚洲经典在线| 欧美日韩视频| 欧美午夜精彩| 色吊丝一区二区| 国产一区二区三区网| 国产精品s色| 国产毛片精品久久| 日本欧美一区| 欧美久久一区二区三区| 亚洲黄页一区| 在线一区视频| 国产精品日韩| 久久亚洲不卡| 日韩视频不卡| 男人的天堂久久精品| 免费不卡在线视频| 亚洲v天堂v手机在线| 日韩精品五月天| 久久国产人妖系列| 久久爱www.| 国产成人久久| 欧美片第1页| 日韩欧美看国产| 精品国模一区二区三区| 国产精品99一区二区三区| 97精品国产一区二区三区| 日本在线高清| 欧美三级网址| 国产精品av久久久久久麻豆网| 欧美日韩国产在线观看网站| 伊人精品视频| 亚洲一区导航| 69堂免费精品视频在线播放| 国产精品嫩模av在线| 国内精品伊人| 欧美日韩精品免费观看视欧美高清免费大片| 日韩av一级| 欧美~级网站不卡| 久久福利影视| 亚洲区欧美区| 国产日韩欧美中文在线| 欧美黄色精品| 99久久精品国产亚洲精品| 国产综合婷婷| 蜜臀av国产精品久久久久| 日本一区免费网站| 麻豆视频一区| 在线视频观看日韩| 一区二区三区国产盗摄| 国产精品一区二区精品视频观看| 国产一区二区三区黄网站| 99久久亚洲精品蜜臀| 日本欧洲一区二区| 你懂的国产精品永久在线| 日韩啪啪电影网| 丝袜亚洲另类欧美| 免费看久久久| 亚洲福利专区| 97久久亚洲| 日韩天堂在线| 亚洲精品成人一区| 日韩国产专区| 亚洲精品高潮| 亚洲免费福利| 一级成人国产| 精品黄色一级片| 国产精品日韩欧美一区| 麻豆精品99| 老色鬼久久亚洲一区二区| 国产精品极品国产中出| 国产精品av一区二区| 欧美视频久久| 一区三区视频| 精品亚洲成人| 亚洲精品自拍| 久久免费高清| 国产麻豆一区| 黄色亚洲大片免费在线观看| 免费一级欧美片在线观看网站 | 亚洲国内精品| 国产亚洲欧美日韩精品一区二区三区| 日韩精品不卡一区二区| 亚洲精品乱码日韩| 亚洲不卡系列| 国产精品麻豆成人av电影艾秋| 9国产精品视频|