gpt4 book ai didi

php - Ajax 分页 Laravel 5.1

转载 作者:行者123 更新时间:2023-12-01 04:43:49 25 4
gpt4 key购买 nike

我正在尝试使用 ajax 和 laravel 5 进行分页,但即使进行简单的测试,我也无法完成 ajax 工作:

$(document).on('ready',function(){
$('.pager a').on('click', function (e) {
var page = $(this).attr('href').split('page=')[1];
e.preventDefault();
$.ajax({
type: "GET",
url: 'testeserver.php',
//url:"raphael.dev/testeserver.php",
dataType: 'json', // Notice! JSONP <-- P (lowercase)
success:function(json){

alert("Success"+json);
},
error:function(){
alert("Error");
}
});
});
});

在此示例中,我尝试返回 json ,

  <?php
$arr = array("element1","element2",array("element31","element32"));
$arr['name'] = "response";
echo $_GET['callback']."(".json_encode($arr).");";
?>

但仅限于错误警报,事实上我正在尝试以下情况:

博客 Controller :

  public function index(Request $request){
$artigos = Artigo::where('publicado_em', '<=', Carbon::now())
->orderBy('publicado_em', 'desc')
->paginate(config('blog.artigos_por_pagina'));


if ($request->ajax()) {
return Response::json(view('Blog.artigos', compact('artigos'))->render());
}
return view('Blog.index', compact('artigos'));
}

路线.php

post('/', 'BlogController@index');
get('/', 'BlogController@index');
get('/{slug}', 'BlogController@show');

jquery

$(document).on('ready',function(){
$('.pager a').on('click', function (e) {
var page = $(this).attr('href').split('page=')[1];
e.preventDefault();
$.ajax({
type: "POST",
url: 'page=' + page,
dataType: 'json',
success:function(json){

alert("Success"+json);
},
error:function(){
alert("Error");
}
});
});
});

最佳答案

刚刚找到解决方案,将我的 jquery 代码更改为:

$(document).on('ready',function(){
$('.pager a').on('click', function (e) {
var page = $(this).attr('href').split('page=')[1];
e.preventDefault();
var url = '?page=' + page;
$.post( url, function(data) {
alert( "success"+data );
})
.done(function() {
alert( "second success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});

并在我的 BlogController 中发现一个错误:

 if ($request->ajax()) {
return Response::json(view('Blog.artigos', compact('artigos'))->render());
}

Facade Response 未声明,因此仅添加

Use Request;

在顶部,

但我仍然不明白为什么 $ajax() 不起作用,只有 $get 和 $post

关于php - Ajax 分页 Laravel 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33008122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com