在刀片语法上传递javascript var

时间:2016-03-14 23:56:57

标签: javascript laravel-blade

我在使用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()方法的参数传递。

2 个答案:

答案 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等做任何事......