我在使用laravel将vars传递给刀片语法时出现问题,这是js代码
var e = document.getElementById("select-city");
var idCity = e.options[e.selectedIndex].value;
var map = L.map('map').setView([{{ $region->cities->find(idCity)->lat }}, 10.2941], 15);
所以我想将 idCity js var作为 find()方法的参数传递。
答案 0 :(得分:1)
我将解释使用ajax进行此操作。 函数和变量名只是示例。你可以自己修改。
在routes.php文件中
Route::post('/regionCitiesFind', "yourController@finderOrSomething");
在你的控制器中
public static function finderOrSomething( Request $request){
$result $region->cities->find( $request->idCity )->lat; // as your code
return $result;
}
在你的视图(刀片)中 - 对于ajax
var e = document.getElementById("select-city");
var idCity = e.options[e.selectedIndex].value;
$.ajax({
type: "post",
url: "./regionCitiesFind",
headers: { 'X-CSRF-Token': "{{ csrf_token() }}" },
data: "_token={{ csrf_token() }}&idCity="+id,
success: function(msg){
var map = L.map('map').setView([ msg, 10.2941];
}
});
我尝试解释在laravel中使用ajax的主要结构。可能存在语法错误或遗漏了您项目的内容。
答案 1 :(得分:1)
为了扩展@ Erkan的答案,我总是将刀片代码用双引号括起来并分配给var,如下所示:
var v = "{{ $region->cities->find(idCity)->lat }}";
然后你可以用v,parseFloat,parseInt等做任何事......