如何将 javascript 变量作为 php 循环中的变量传递:
像这样的东西(显然不起作用):
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);
}
});
它返回我成功的函数,
此外,我在控制器中执行了此操作:
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, Angular or React.
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()
{
$value = Request::get('value');
return view('view-with-a-loop')->with('value', $value);
}
小心后一种方法 XSS-wise。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)