【发布时间】:2016-01-05 14:57:10
【问题描述】:
我正在尝试使用 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).");";
?>
但只有错误警报,实际上我正在尝试以下情况:
博客控制器:
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'));
}
routes.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");
}
});
});
});
【问题讨论】:
-
哪个部分不工作??
-
删除
dd($artigos);部分。您不会收到有效的 json 字符串,因此 javascript 无法使用它。 -
@mimo dd($artigos) 只是一个测试,我忘了把它取下来,所以是的,没有它仍然无法工作。
-
@NiranjanNRaju 第一部分只是使用 testeserver.php 和 ajax get 进行的测试,但是有效,而我要做的是在第二部分中,使用 ajax 进行分页但我仍然尝试使用 ajax 剂量工作
标签: php jquery ajax laravel pagination