亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ajax 調用以獲取單擊的對象列表

Ajax 調用以獲取單擊的對象列表

開心每一天1111 2022-11-11 14:43:34
我正在嘗試使用AJAX調用將數據發送到我的django視圖,然后我希望在另一個視圖中使用它。當用戶點擊一個特定的詞時,known_words必須加一個(這部分工作)。但我也想知道用戶點擊了哪個詞(我可以在模板中訪問這個:{{item.0}}。這是我無法開始工作的部分。我的html的相關部分(這是我表的最后一列,第一列包含{{item.0}}):<a href="javascript:" class="word_known btn btn-warning btn-sm" data-word="{{item.0}}" data-songpk="{{song_pk}}" data-userpk="{{user_pk}}">Yes</a>我的js:$(document).ready(function() {  var known_words = 0;  var clicked_words = [];  $(".word_known").click(function() {    known_words++;    var reference = this;    var songpk = $(this).data('songpk');    var userpk = $(this).data('userpk');    var clicked_words = $(this).data('clicked_words');  //I know this part is wrong, how can I append the word to the list?    $.ajax({      url: "/videos/songs/vocab/known/"+songpk+"/"+userpk+"/",      data: {known_words: known_words, clicked_words: clicked_words},      success: function(result) {    $(reference).removeClass("btn-warning");    $(reference).addClass("btn-success");    $(reference).text("Known");  },      failure: function(data) {        alert("There is an error!")      }      })});})意見:def word_known(request, pk_song, pk_user):    if request.method =='POST':        pass    elif request.method == 'GET':        known_words = request.GET.get('known_words', '')        clicked_words = request.GET.get('clicked_words', '')        request.session['known_words'] = known_words        clicked_words = []        clicked_words.append(request.session['clicked_words'])        print('The number of known words is {} and clicked words are {}'.format(known_words, clicked_words))    return HttpResponse(json.dumps(known_words))在控制臺中,當我單擊一個單詞(不是“你好”)時,我會在控制臺中得到以下信息:The number of known words is 1 and clicked words are ['hello']如果我第二次點擊另一個詞:The number of known words is 2 and clicked words are ['hello']所以計數器正在工作,但不是單詞列表。我該如何解決?
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

我沒有對此進行測試,但我認為您正在覆蓋數組而不是添加到它。

這條線

var clicked_words = $(this).data('clicked_words');

應該

clicked_words.push($(this).data('clicked_words'));

這是 MDN 上文檔的鏈接


查看完整回答
反對 回復 2022-11-11
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

除了@Daniel Butler 的回答,我不得不改變我的看法如下:

clicked_words = request.GET.getlist('clicked_words[]')

因為顯然當您通過 jQuery 發送列表時,它也會更改關鍵字。


查看完整回答
反對 回復 2022-11-11
  • 2 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號