如何从数据库中获取值到视图文件中的javascript代码(laravel 5.2)
How to fetch a value from database to javascript code in view file (laravel 5.2)
我想将一个变量从我的控制器文件传递到我的视图文件中的javascript代码,我在控制器中使用sql查询从数据库中提取了这个变量,它在一个变量中,我可以使用简单的laravel方法将该变量传递到视图文件,但无法在javascript代码中使用它,可能是因为它的范围。
我的视图文件:
<div id="js-example-disabled">
<h2><code>Mood Meter..!!</code></h2>
<input type="range" min="0" max="50" data-rangeSlider disabled>
<output></output>
<button data-behaviour="toggle">@if($user==Auth::user())<p>Change Mood</p>@endif</button>
</div>
<div id="j">
</div>
<script src="{{URL::asset('rangeSlider.js')}}"></script>
<script>
(function () {
var value;
var selector = '[data-rangeSlider]',
elements = document.querySelectorAll(selector);
// Example functionality to demonstrate a value feedback
function valueOutput(element) {
value = element.value,
output = element.parentNode.getElementsByTagName('output')[0];
}
for (var i = elements.length - 1; i >= 0; i--) {
valueOutput(elements[i]);
}
Array.prototype.slice.call(document.querySelectorAll('input[type="range"]')).forEach(function (el) {
el.addEventListener('input', function (e) {
valueOutput(e.target);
}, false);
});
// Example functionality to demonstrate disabled functionality
var toggleBtnDisable = document.querySelector('#js-example-disabled button[data-behaviour="toggle"]');
toggleBtnDisable.addEventListener('click', function (e) {
var inputRange = toggleBtnDisable.parentNode.querySelector('input[type="range"]');
console.log(inputRange);
if (inputRange.disabled) {
inputRange.disabled = false;
}
else {
inputRange.disabled = true;
}
inputRange.rangeSlider.update();
}, false);
rangeSlider.create(elements, {
value:10,
// Callback function
onInit: function () {
},
// Callback function
onSlideStart: function (value) {
console.info('onSlideStart', 'value: ' + value);
},
// Callback function
onSlide: function (value) {
console.log('onSlide', 'value: ' + value);
},
// Callback function
onSlideEnd: function (value) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById('j').innerHTML=this.responseText;
}
};
xmlhttp.open("GET", "/meter/"+value, true);
xmlhttp.send();
}
});
})();
</script>
我的控制器文件:
public function meter($value)
{
$data=user::where('id',Auth::user()->id)
->update(['meter'=>$value]);
return response()->json([
'data'=>$value
]);
}
您可以在blade模板中的任何位置使用双大括号{{ }}
。示例:
<script>
var value = {{ $value }};
alert(value); //alert is to test if it is working or not
</script>
试试这个由jaffery way@laracast开发的包,它将php-vars转换为javascript,这里是链接
https://github.com/laracasts/PHP-Vars-To-Js-Transformer
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById('j').innerHTML=this.responseText.data;
}
这应该可以完成
相关文章:
- 云代码(javascript)失败,原因是:{代码:1,消息:内部错误
- 简化此If语句,使其不会't重复代码-Javascript
- 十进制到二进制代码Javascript
- 第二次单击时执行不同的代码(JavaScript)
- 在不使用jquery($symbol)knockout.js的情况下分离代码javascript
- 缩短几个元素的onclick代码 - JavaScript
- 英国银行排序代码 JavaScript 正则表达式
- 我无法在谷歌图表的代码 javascript 中获取 json 数据(项目 Python Hello Dashboard
- 和代码 JavaScript 没有被 &.
- 我怎样才能减少这段代码 javascript 代码,这样它就不会那么重复了
- 我想单击一个按钮,一次只执行已经制作的程序中的一行代码.(JavaScript)
- 滑动 DIV 代码 Javascript 的小问题
- 尝试重写代码 JavaScript
- 是否可以检测到在不使用键代码 javascript 的情况下按下了输入键
- 输入网址代码 JavaScript 播放器
- 管理通用客户端代码(javascript/css)
- 理解代码javascript
- 加载json-url参数代码(javascript修改)
- 变量检查错误的代码(javascript)
- css属性仅由代码javascript应用