正在使用laravel开发一个php应用程序。当我试图使用ajax调用将值从视图传递给控制器时。我在路由中遇到问题这是我的路由代码
Route::post('AssetdetailsController/postPositions/{id}', array('as'=>'post_form','uses' => 'Controllers\Admin\AssetdetailsController@postPosition'));
我正在尝试在javascript警报中传递路由值,并获得一个空警报框。
这是我的ajax电话
$(document).ready(function() {
$('#asset_type_id').change(function() {
// alert($('#asset_type_id option:selected').val());
var id = $('#asset_type_id option:selected').val();
$.ajax({
type: 'POST',
url: '{{ URL::route('post_form') }}',
data: id,
cache: false,
success: function(data)
{
alert(data);
check(data);
},
error: function(xhr, textStatus, thrownError) {
alert('Something went to wrong.Please Try again later...');
}
});
});
});
这是我的控制器
public function postPosition($id) {
$positions = DB::table('asset_types')->where('id', '=', $id )->pluck('is_nesd');
return $positions;
}
我试着通过警告框检查我在id中获得的值
public function postPosition($id) {
return $id;
}
我在警告框中输出{id}。
我还尝试在查询中手动传递值而不是$ {id}并且iam获得正确的输出
public function postPosition($id) {
$positions = DB::table('asset_types')->where('id', '=', 1 )->pluck('is_nesd');
return $positions;
}
所以现在我的问题是如何从视图中正确获取$ {id}的值。
答案 0 :(得分:0)
嗨,我终于得到了我所做的答案
在ajax函数中,我的旧代码是
url: '{{ URL::route('post_form') }}',
我改为
url: '{{ action("postPositions", " ") }}'+id,
这个正常工作