在我的用戶頁面中,我在第二個選項卡中使用帶有兩個選項卡「Products」和「Followers」的div關於追隨者名單的分頁。 當我嘗試分頁時,不會返回到「產品」選項卡,我用戶調用Ajax。 但是當我嘗試運行它,我有一個錯誤500,GET的響應是:ErrorException,array_merge():參數#2不是數組,當我打電話時Ajax
{"error":{"type":"ErrorException","message":"array_merge(): Argument #2 is not an
array","file":"\/Users\/utilisateur\/Desktop\/mamp\/ptf-l4\/vendor\/laravel\/framework\
/src\/Illuminate\/View\/Environment.php","line":117}}
我不知道爲什麼,我不知道如何找到一個解決方案。
這是我的控制器:
public function show($id){
// récupère les données de l'user et les produis qu'il partage
$show = $this->api->show($id);
// décode le json pour qu'il se réaffiche en array pour pouvoir l'exploiter
$json = json_decode($show->getContent());
$json->followed = User::userFollowedPaginate($id);
LaravelMixpanel::identify(Auth::user()->mixpanel_id);
LaravelMixpanel::track('User show view');
if(Request::ajax())
{
$html = View::make('users.show', $json)->render();
return Response::json(['html' => $html]);
}
return View::make('users.show')
->with('user', $json);
}
我的API /控制器:
public function show($id){
// récupère donnée de l'user et les produits qu'il échange
$data = User::with(array('products' => function($query){
$query->whereNull('shared_at');
$query->whereNull('deleted_at');
}))->findOrFail($id)->toArray();
// récupère le nb de produits qu'il échange en ce moment
$data['nbShareCurrently'] = Product::where('user_id', $id)->whereNull('shared_at')->whereNull('deleted_at')->count();
// récupère le nb de produits qu'il a échangé depuis le début
$data['nbShared'] = Product::where('user_id', $id)->whereNotNull('shared_at')->count();
return Response::json($data, 200);
}
我的JS:
function callAjaxUser(url) {
$.ajax ({
type: "GET",
url: url ,
success: function() {
console.log('Success ');
},
error: function() {
console.log('Error ');
}
});
}
$(document).ready(function(){
$('body').on('click', ' .pagination a ', function(event){
event.preventDefault();
var url=$(this).attr('href');
callAjaxUser(url);
});
});
而我的觀點:
@extends('default')
@section('title')
Fiche de {{ $user->name }}
@stop
@section('contenu')
<section class="panel col-lg-8 col-sm-8 m-t-large">
<header class="panel-heading m-l-n m-r-n">
<ul class="nav nav-tabs pull-right">
<li class="active"><a href="#product" data-toggle="tab"><i class="icon-list icon-large text-default"></i>Mes produits en cours de partage</a></li>
<li><a href="#follow" data-toggle="tab"><i class="icon-group icon-large text-default"></i>Mes abonnés</a></li>
</ul>
<span class="hidden-sm">Fiche technique du frigo</span>
</header>
<div class="panel-body">
<div class="tab-content">
<div class="tab-pane active" id="product">
<div class="col-lg-3">
{{-- dd($user) --}}
<h4>{{{ $user->name }}}</h4>
@if($user->photo && File::exists(public_path().'/uploads/photos/users/'.e($user->photo)))
{{ HTML::image('uploads/photos/users/'.e($user->photo), e($user->name)) }}
@else
{{ HTML::image('template/images/avatar.jpg', e($user->name)) }}
@endif
@if($user->id!=Auth::user()->id)
@if(DB::table('user_followers')->where('user_followed', $user->id)->where('user_following', Auth::user()->id)->count()==0)
{{ HTML::decode(HTML::linkAction('[email protected]', '<i class="icon-heart">S\'abonner</i>', array('id' => $user->id), array('class' => 'btn btn-info m-t-large m-b-small'))) }}
@else
{{ HTML::decode(HTML::linkAction('[email protected]', '<i class="icon-heart">Se désabonner</i>', array('id' => $user->id), array('class' => 'btn btn-danger m-t-large m-b-small '))) }}
@endif
@endif
</div>
<div class="col-lg-9">
<h4>Le frigo contient en ce moment :</h4>
<ul class="list-unstyled">
@foreach($user->products as $product)
<li class="list-group-item bg m-b-small">
<div class="media">
@if(e($product->photo) && File::exists(public_path().'/uploads/photos/products/'.e($product->photo)))
<span class="pull-left img-product">
<a href="{{ URL::action('[email protected]', $product->id) }}">
{{ HTML::image('uploads/photos/products/'.e($product->photo), e($product->title), array('class' => 'img-rounded')) }}
</a>
</span>
@endif
<div class="media-body">
<div><a href="{{ URL::action('[email protected]', $product->id) }}" class="h4">{{{ $product->title }}}</a></div>
<p>{{{ $product->description }}}</p>
<p class="pull-left">Quantité : <span class="label label-info">{{{ $product->quantity }}}</span></p>
<p class="pull-right">Prix : <span class="badge bg-danger">{{{ $product->price }}} €</span></p>
</div>
</div>
</li>
@endforeach
</ul>
<div class="pagination">
{{-- $users->products->links() --}}
</div>
</div>
</div>
<div class="tab-pane" id="follow">
<div class="row m-b-large">
@if($user->followed!=NULL)
@foreach($user->followed as $user_followed)
<div class="panel col-lg-2 m-l-large m-t-large ">
<div class="col-lg-8 m-b-n-small col-md-offset-2 m-t-large text-center">
@if($user_followed->photo && File::exists(public_path().'/uploads/photos/users/'.e($user_followed->photo)))
{{ HTML::image('uploads/photos/users/'.e($user_followed->photo), e($user_followed->name), array ('class' => 'img-circle')) }}
@else
{{ HTML::image('template/images/avatar.jpg', e($user_followed->name), array ('class' => 'img-circle')) }}
@endif
<h3>{{{ $user_followed->name }}}</h3>
</div>
<div class="col-lg-10 m-b-small center ">
@if(DB::table('user_followers')->where('user_followed', $user_followed->id)->where('user_following', Auth::user()->id)->count()==0)
{{ HTML::decode(HTML::linkAction('[email protected]', '<i class="icon-heart">S\'abonner</i>', array('id' => $user_followed->id), array('class' => 'btn btn-info btn-group-justified m-t-large m-b-small'))) }}
@else
{{ HTML::decode(HTML::linkAction('[email protected]', '<i class="icon-heart">Se désabonner</i>', array('id' => $user_followed->id), array('class' => 'btn btn-danger btn-group-justified m-t-large m-b-small '))) }}
@endif
</div>
</div>
@endforeach
@else
<div class="panel col-lg-8 col-lg-offset-2 m-t-large">
<h4> Tu ne suis actuellement personne </h4>
</div>
@endif
</div>
<div class="col-lg-12">
{{ $user->followed->links() }}
</div>
</div>
</div>
</div>
</section>
@stop
@section('js')
{{ Basset::show('usersPaginate.js') }}
@endsection
除了如何使用'array_merge()'外,您已經顯示了所有內容。 –
我不是使用array_merge,它是所有工作的代碼,控制器向視圖發送信息,當我使用分頁時,我調用js,並且當我用螢火蟲查看響應時,可以看到ErrorException:Array_merge。 .. – Malxiin
難道是因爲從$用戶的信息恢復? – Malxiin