【发布时间】:2016-11-06 21:43:46
【问题描述】:
我的路线在这里
Route::get('/Service-Areas-Details/{ID}',
array(
'uses' => 'Web\ServiceAreas\ServiceAreaController@ServiceAreaDetails',
'as' => 'ServiceAreaDetails'
)
);
以下是我在 Laravel 中的代码。
<script language="javascript">
$(document).ready(function() {
var $_token = "{!! csrf_token() !!}";
var data = {
"_token" : $_token,
};
$.ajax({
url: '{{URL::route("apiServiceAreas")}}',
method: "POST",
async: true,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: function (result) {
$.each(result.Data, function( key, ServiceArea ) {
var URL = '{!! route("ServiceAreaDetails", ["ID" => 1]); !!}';
});
}
});
});
</script>
讨论的意义何在?
此代码中的值 = 1 是静态的。我们可以让它动态吗? var URL = '{!! route("ServiceAreaDetails", ["ID" => 1]); !!}';
有什么问题?
路由功能是服务器端编码。有没有办法将循环内的js值传递给这个服务器端函数参数?
Js 值为ServiceArea.ID
【问题讨论】:
-
棘手的一个。我能想到的最好的方法是将其附加为查询参数。
var URL = '{{ route("ServiceAreaDetails"); }}?ID='+ServiceArea.ID; -
没有。因为路由参数不是可选的。
-
嗯,你会改变你的路线,让它成为可选的。否则,您可以手动构建 URL。
var URL = '/areas/'+ServiceArea.ID;
标签: laravel laravel-5 laravel-5.2 laravel-5.1 laravel-5.3