繁体   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