簡體   English   中英

如何將javascript變量值傳遞給django中的views.py函數?

[英]how to pass javascript variable value to views.py function in django?

我試圖將我的html頁面中從javascript標簽生成的字符串發送到views.py函數。 我將使用該值將其呈現到另一個html頁面,其他javascript將使用它。

這是解析json數據的變量:

var url = data.result.docs[i].source.enriched.url.url;

我想在views.py中向我的函數發送“url”,但我無法找到方法。

此外,我想保留一個鏈接,以便當用戶點擊它時,“url”傳遞給views.py,我的函數將其發送到其他html文件。

sjd += "<br/>" + data.result.docs[i].source.enriched.url.title +
            '<a href="/rawHtmlText/url">' + ' Read more' + '</a>' + '<br>'

這是我希望在我的頁面中提供的一種鏈接。 我知道urls.py應該有一個合適的模式,但我無法搞清楚。

可能是jQuery可以使用,但我是這個領域的菜鳥,所以有點卡在這里。

請指導我。

最簡單的方法可能就是構建一個AJAX查詢。 嘗試這樣的事情:

<script type="text/javascript">
    $(document).ready(function() {
        var url = data.result.docs[i].source.enriched.url.url;
        $("#send-my-url-to-django-button").click(function() {
            $.ajax({
                url: "/process_url_from_client",
                type: "POST",
                dataType: "json",
                data: {
                    url: url,
                    csrfmiddlewaretoken: '{{ csrf_token }}'
                    },
                success : function(json) {
                    alert("Successfully sent the URL to Django");
                },
                error : function(xhr,errmsg,err) {
                    alert("Could not send URL to Django. Error: " + xhr.status + ": " + xhr.responseText);
                }
            });
        });
    });
</script>

假設您的頁面上有一個按鈕,如下所示:

<button type="button" id="send-my-url-to-django-button">Send URL to Django View</button>

單擊該按鈕應該將url發送到您的Django視圖。 然后在Django端,您可以像這樣訪問url

def process_url_from_client(request):
    url = request.POST.get('url')

是的,您只能使用錨標記,但在這種情況下,您將發送這樣的數據
http://host/path_to_view.py/urlValueToSend 這將是一個簡單的get請求,url將被發送到服務器您可能需要ro編碼url,因為它包含特殊字符

var val = EncodeURI(url);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM