这可能是一个愚蠢的问题,但我尝试用jquery做一个帖子请求,我不知道如何在我的帖子请求中设置我的“url”。
我有一个变量“id”:
var url = window.location.pathname.split('/');
var id = url[3];
我希望我的帖子转到/ mysite / xxx /“id”/
这是我的帖子请求:
$.post("/mysite/xxx/'id'", {
name: "test"
});
我不知道如何在我的网址末尾包含变量“id”。谢谢你的帮助。
P.S:此帖子请求转到我尝试实现它的完全相同的URL。我不知道是否有更简单的方法来做,而不是再次指定整个网址。
答案 0 :(得分:1)
$.post("/mysite/xxx/"+id, {
name: "test"
});
你的问题是“如何连接字符串和变量”。
如果您必须执行"/mysite/xxx/ID/yyy/"
之类的操作,则可以执行"/mysite/xxx/"+id+"/yyy/"
答案 1 :(得分:1)
为什么不这样做?
$.post(window.location.pathname, {
name: "test"
});
答案 2 :(得分:0)
如果您在当前页面上发帖,您可以这样做:
$.post(window.location.pathname, {
name: "test"
});
$.post('.', {
name: "test"
});
如果您在其他网页上发帖,您可以在网址中使用代币并将其作为变量传递给您的模块:
<script>
var url = '{% url my-url "{token}" %}';
$.post(url.replace('{token}', 'param'), {
name: "test"
});
</script>
请注意,令牌应与正则表达式类型匹配才能成功解析(如果参数是使用{token}
定义的,则无法使用\d+
。)
我对这个解决方案有点不满意,最后我编写了自己的应用程序,用django处理javascript:django.js。有了这个应用程序,我可以这样做:
{% load js %}
{% django_js %}
<script>
Django.onReady(function() {
$.post(Django.url('my-url', 'param'), {
name: "test"
});
});
</script>
只有在提前发布并需要等待Django.js准备就绪时才需要Django.onReady()
包装。我是一个真实的案例,你只需要做
$.post(Django.url('my-url', 'param'), {
name: "test"
});