php中的Laravel blade pass Javascript变量

php中的Laravel blade pass Javascript变量,javascript,php,ajax,laravel,variables,Javascript,Php,Ajax,Laravel,Variables,如何在php循环中将javascript变量作为变量传递: 类似这样的东西(显然不起作用): 它返回success函数 此外,我在控制器中执行了以下操作: public function prod(Request $request) { if ($request->ajax()) { $ajax = "AJAX"; dd($ajax); } else { $ajaxN = "NO Ajax"; dd($ajax

如何在php循环中将javascript变量作为变量传递:

类似这样的东西(显然不起作用):

它返回success函数

此外,我在控制器中执行了以下操作:

public function prod(Request $request)
{
    if ($request->ajax()) {
        $ajax = "AJAX";
        dd($ajax);
    } else {
        $ajaxN = "NO Ajax";
        dd($ajaxN);
    }
}
public function prod()
{
   $value =  Request::get('value');

   return view('view-with-a-loop')->with('value', $value);
}
它不起作用


我不知道如何继续,希望能得到一些帮助。

PHP甚至在页面进入浏览器之前就已经完成了它的工作,因此在不执行其他请求的情况下将一个变量从Javascript传递到PHP是不可能的。考虑

A)将循环移动到Javascript。考虑使用一些类似于,或./p>的UI库。 B)
myJsVar
的内容移动到PHP。如果它依赖于用户输入或浏览器渲染,那是不可能的

C)通过Ajax请求执行渲染逻辑

$.ajax({
            type: 'GET',
            url: myUrl,
            headers: {'X-Requested-With': 'XMLHttpRequest'},
            data: {value: myJsVar},
            success: function (response) {
                $(someContainer).html(response);
            }
        });
在控制器中:

public function prod(Request $request)
{
    if ($request->ajax()) {
        $ajax = "AJAX";
        dd($ajax);
    } else {
        $ajaxN = "NO Ajax";
        dd($ajaxN);
    }
}
public function prod()
{
   $value =  Request::get('value');

   return view('view-with-a-loop')->with('value', $value);
}

小心使用后一种方法XSS-wise。

我使用blade中的一个部分添加javascript,然后将其拉入布局。下面的示例显示了整数/字符串/模型集合的传递,例如:

//叶片模板

@extends('layouts.app')

@section('javascript')

<script type="text/javascript">
    var myInteger = {!! $myInteger !!};
    var myString = '{!! $myInteger !!}';
    var myObject = {!! json_encode($models) !!};
</script>

@endsection

@section('content')
...
@endsection
@extends('layouts.app'))
@节(“javascript”)
var myInteger={!!$myInteger!!};
var myString='{!!$myInteger!!}';
var myObject={!!json_encode($models)!!};
@端部
@节(“内容”)
...
@端部
//布局(javascript可以进入布局中的任何位置,即头部或身体:

<!DOCTYPE html>
<html>
<body>
    @yield('content')
    @yield('javascript')
</body>
</html>

@产量(‘含量’)
@收益('javascript')

从何处获得
myJsVar的值
?我的意思是它是静态的,或者来自数据库或其他东西?我简化了代码,myJsVar是一个来自滑块(javascript,jquery ui滑块)的动态值,澄清一下,“不工作”部分意味着从控制器返回“没有Ajax”?是的,我得到“没有Ajax”“没有ajax”的原因是jQuery不会自动设置标题。之前Laravel在链接中调用的方法是我的循环实际上在我的Javascript中,如下图所示
var bla;
如果你是这样想的话,myJsVar的内容是由一个滑块创建的。如果我
dd(value),我会检查它OK
我在JS中得到nullTry
{value:“foo”}
,只是为了看看它是否在php或JS方面失败,如果我将其更改为“foo”dd(value),则返回null