如何在laravel中获得实时数据?
我有基于JavaScript的表单,用于在我的数据库中保存新数据并且它正在运行
在我的保存数据表单旁边,我有一个包含我要保存的数据的选择框。
问题出现在我的选择框中我只看到我的旧数据,如果我想看到我刚刚保存的数据,我必须刷新页面。
我在我的数据库中保存了新的规范,让我们说core i5 cpu
然后在我的表单旁边我有选择框来选择该框中的规格我看不到core i5 cpu
我必须刷新页面才能看到它。
如果在没有刷新页面的情况下保存到数据库,我怎么能得到我的结果?
ps:我需要的是如何在没有
specifications
的情况下检索controller
引用该页面。
我应该将我的数据转换为json并通过ajax或如何检索它?
我添加了新的函数和路由,以便在ajax中将数据作为json获取,这就是我现在所拥有的:
public function subspacs(){
$specifications = Specification::with('subspecifications')->get();
return response()->json($specifications);
}
route
Route::get('subspacs', 'ProductController@subspacs')->name('subspacs');
javascript
<script>
$(document).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type:"GET",
url:"{{ url('admin/subspacs') }}",
success : function(response) {
console.log(response);
}
});
});
</script>
but not updated data
refresh my select box every 2 seconds
中显示我的数据,问题
看到新数据需要刷新页面仍然存在。 我尝试了以下代码,以setTimeout ( function ( ) {
$ ( ' #subspecifications ') . append ('< option value = "gg" >TEST SUCCESS< / option> ');
} , 2000 ) ;
通过jQuery,这是有效的。
question
基本上我尝试了2种方法和不成功的结果:
现在String userAgentCustom= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
webView.getSettings().setUserAgentString(userAgentCustom);
是如何在选择框中将其添加的规格放在其父母下面的?
here is small video了解目前究竟发生了什么,避免误解。
答案 0 :(得分:0)
您可以使用ajax
$.ajax({
type:'GET',
url:'{{ url("/getpost") }}',
data: {data from response}
success:function(response){
console.log(response);
},
error:function(){console.log(data);}
});
答案 1 :(得分:0)
我在我的视图中添加了按钮:
<button data-toggle="tooltip" data-placement="top" title="Refresh" id="customerSearchButton" class="btn-sm btn btn-warning customerSearchButton" type="button"><i class="fa fa-refresh"></i></button>
并将我的脚本更改为:
<script>
$(document).ready(function() {
$("#customerSearchButton").on("click", function (event) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "{{ url('admin/subspacs') }}",
type: "GET",
}).success(function (result) {
$('#subspecifications').empty();
// loop
$.each(result, function(key, value) {
$('#subspecifications').append('<optgroup label="'+value.title+'"></optgroup>');
$.each(value.subspecifications, function(key2, value2) {
$('#subspecifications').append('<option value="'+value2['id']+'">'+value2['title']+'</option>');
});
});
// end loop
})
});
});
</script>
现在,每次按下按钮,我的规格列表都会更新最新数据。
希望它有所帮助。