javascript - Laravel Blade 在 php 中传递 Javascript 变量

标签 javascript php ajax laravel variables

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

像这样的东西(显然行不通):

        var myJsVar = 100;

        @for ($i = 0; $i<myJsVar; $i++)
            ... some code
        @endfor

我还尝试用 ajax 解决这个问题:

        /**
         *  Get slider value
         */
        $.ajax({
            type: 'GET',
            url: myUrl,
            data: myJsVar,
            success: function (option) {
                console.log(myJsVar);
            }
        });

它返回成功函数,

此外,我在我的 Controller 中执行了此操作:

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

没用。

我不确定如何进行,希望得到一些帮助。

最佳答案

PHP 甚至在页面到达您的浏览器之前就已经完成了它的工作,因此将变量从 Javascript 传递到 PHP 而不执行另一个请求是根本不可能的。考虑

A) 将循环移动到 Javascript。考虑使用一些 UI 库,如 Vue.js , AngularReact .

B)myJsVar 的内容移动到 PHP。如果它取决于用户输入或浏览器渲染,那是不可能的。

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

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

在你的 Controller 中:

public function prod()
{
   $value =  Request::get('value');

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

小心使用后一种 XSS 方式的方法。

关于javascript - Laravel Blade 在 php 中传递 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38224886/

相关文章:

javascript - 在 JavaScript 中设置数字格式

javascript - 使用 <select multiple> 来过滤 div

尝试访问数据库时php页面出现空白

PHP Soap 客户端 : How call WebService with Derived class as parameter?

php - 如何将php数组作为参数传递给外部js函数

javascript - parseInt() 不考虑前导零,即使有基数

javascript - window.popstate之后如何恢复原来的内容?

javascript - jQuery PUT ajax 请求不工作

Javascript 触发 Tropo 脚本问题

javascript - PHP编码,如何在同一段源代码中处理javascript和javascript?