【发布时间】:2021-12-04 04:56:02
【问题描述】:
我正在尝试转换此静态查询
$companiesFinal = Websites::query();
if(!empty($request->searchWord)) {
$companiesFinal->where('web_name', 'LIKE', '%' . $request->searchWord . '%');
$companiesFinal->where('web_seo_url', 'LIKE', '%' . $request->searchWord . '%');
}
if(!empty($request->category)){
if(is_array($request->category)) {
foreach($request->category as $categ) {
$companiesFinal->orWhere('web_category', 'LIKE', '%' . $categ . '%');
}
} else {
$companiesFinal->where('web_category', 'LIKE', '%' . $request->category . '%');
}
}
if(!empty($request->claimed)){
if($request->claimed == "all") {} else {
$companiesFinal->where('claimed', '=', $request->claimed);
}
}
if(!empty($request->sortBy)) {
if($request->sortBy == "newest") {
$companiesFinal->orderBy('created_at', 'DESC');
} elseif($request->sortBy == "oldest") {
$companiesFinal->orderBy('created_at', 'ASC');
}
}
$companies = $companiesFinal->paginate(7);
}
到 AJAX jQuery 调用,这是令人困惑的部分。我已经尝试过这样做,但没有成功。
我尝试了类似的方法:
$.ajax({
type: 'GET',
url: '{{ url("/ajaxCall") }}',
data: $("form").serialize(),
success: function(response) {
var websites = "";
$.each(response.data, function(index, value) {
websites = websites + "<div>... " + value.web_name + "......." + value.web_link + "...</div>";
});
$(".getResults").html(websites);
},
error: function(xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(thrownError);
}
});
当然,当我尝试将控制器查询转换为返回 JSON 响应和其他必要内容时,但结果是浏览器控制台显示“未定义值”。
让我感到困惑的是,在使用 Ajax 获取这些数据时,我将如何显示 Laravel 分页?如果有人提供帮助,我将不胜感激。
【问题讨论】:
-
欢迎来到 SO。你试过什么调试?在浏览器的开发工具中,如果您单击网络选项卡,预期的
data是否会随您的请求发送到服务器?反应怎么样 - 它看起来像你期望的那样吗? “我已将控制器查询转换为返回 json 响应” - 你没有向我们展示那部分......?您的 AJAX 代码不包含dataType- 如果一切顺利,这不是必需的,但一切都不顺利,所以...?
标签: jquery ajax laravel pagination