我的javascript是:
$( "#exerciseFetch" ).change(function( event ) { //alert("super");
// var _token = $( this ).find( 'input[name=_token]' ).val()
var mytoken = $('#mytoken').attr('value');
ajaxContent = [
{"_token": mytoken},
{"val" : $( "#exerciseFetch" ).val()}
]
$.ajax({
type: "POST",
url: 'exerciseFetchAjaxCall',
data: { ajaxContent }
// data: { "_token": mytoken }
}).done(function( msg ) {
alert( msg );
var reqContent = msg;
$("#dynamic").html(reqContent);
});
});
我的路线:
Route::group(array('prefix' => 'admin', 'namespace' => 'App'Controllers'Admin'), function()
{
Route::post('exerciseFetchAjaxCall', 'ExerciseController@exerciseAjaxCall');
});
我的控制器代码:
public function exerciseAjaxCall(){
$row = $_POST['ajaxContent'];
// $row[1]['val']
$muscles = Muscular::whereIn('Status',array(1))->orderBy('id', 'desc')->paginate(10);
// return $this->content = View::make('admin.exercise.displayMusclarGroupAjax',array('row' => $row ));
return $this->content = View::make('admin.exercise.displayMusclarGroupAjax',array('muscles' => $muscles ));
}
我的视图代码:
@if($muscles && count($muscles) > 0)
@foreach($muscles as $muscular)
<?php
$icons = ["fa-icon-user", "fa-icon-user", "fa-icon-user inactive"];
$typeArray = [
'1'=> 'Resistance',
'2'=> 'Cardio'
];
$typeArray[3] = 'Resistance & Cardio';
?>
<tr>
<td data-title="muscular_name">{{ ucfirst($muscular->muscular_name) }}</td>
<td data-title="muscular_type">{{ $typeArray[$muscular->type]}}</td>
</tr>
<?php
$i++;
?>
@endforeach
@endif
@if(isset($row) && count($row) > 0)
<?print_r($row);?>
@endif
如果我注释掉行内容并注释控制器中的肌肉内容,代码将返回传递的值,但如果未注释,则不会显示肌肉的内容。
我已经在它的列表页面中显示了带有相同代码的肌肉内容(但没有ajax调用),不知道为什么它不起作用,因为我是laravel的新手。
任何建议都会很有帮助。。。
您在ajax脚本中有语法错误,请尝试这个简单的$.post()
API使ajax调用
$( "#exerciseFetch" ).change(function( event ) { //alert("super");
// var _token = $( this ).find( 'input[name=_token]' ).val()
var mytoken = $('#mytoken').attr('value'),
ajaxContent = {
"_token" : mytoken,
"val" : $( "#exerciseFetch" ).val()
};
//make ajax call
$.post( "exerciseFetchAjaxCall", ajaxContent ).done(
function( msg ) {
alert( msg );
var reqContent = msg;
$("#dynamic").html(reqContent);
}
);
});
如上所述,如果DB没有返回任何内容,请尝试控制器中的dd()
以查看返回的结果
//are you sure `Status` is not in small case
$muscles = Muscular::whereIn('Status',array(1))->orderBy('id', 'desc')->paginate(10);
dd($muscles);