我有一个ajax调用,它会向我的view函数发送一个国家/地区标签:
视图
posts
我成功获取了ajax数据但是在此之后我该怎么做才能使用新的setTimeout
值重定向到同一个视图?
答案 0 :(得分:0)
如果您使用的是Ajax。您必须在Ajax post call的window.location.reload();
方法中使用success
。
答案 1 :(得分:0)
正如我读到您正在使用Ajax: 重新加载@Himanshu dua的功能说好了 我应该检查你使用URL和VIEW的方式
$x = Category::whereHas('products', function ($query) {
$query->where('products.active', 1);
})->where('categories.active', 1)
->get();
或者您应该尝试使用通过ajax从服务器获取的新DATA替换旧的(只需使用Jquery更改值)
答案 2 :(得分:0)
它不会那样工作。
在HTML页面上,使用Javascript,你应该:
在后端,使用视图功能,你应该:
注意每个项目旁边的数字。它发生在那 序列从1到5。
以下是一个例子:
var posts; $("button").click(function(){ $.post("/test/", function(data, status){ posts = data; console.log(data); }); });
import json from django.http import HttpResponse def test(request): if request.method == 'POST': country = request.POST.get('country') posts = Post.objects.filter(country=country) return HttpResponse( json.dumps(posts) ) else: return HttpResponse( "error" )
答案 3 :(得分:0)
在您的示例中,视图返回呈现的模板:boxes.html
。要做到这一点,你必须要么
修改视图以使用查询参数(例如/my/url?country=nowhere
)。这将适用于GET请求而不是帖子,您可以通过URL轻松调用它。
或使用html表单而不是AJAX请求。表单可以轻松地POST到端点,它将加载您的Web服务器返回的任何内容。
Ajax调用旨在与服务器交换数据,而不是真正用于下载整个网页。因此,如果你想使用ajax,你可以让你的视图返回一个json / xml /任何对象列表,然后使用js将它们注入你的页面:
function successCallback(data) {
var elem = document.getElementById('myelement');
elem.innerHTML = data;
}