laravel实时数据从数据库中检索

时间:2018-04-10 04:19:23

标签: php json ajax laravel

如何在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

问题

  1. 我的Ajax将在控制台refresh my select box every 2 seconds中显示我的数据,问题 看到新数据需要刷新页面仍然存在。
  2. 我尝试了以下代码,以setTimeout ( function ( ) { $ ( ' #subspecifications ') . append ('< option value = "gg" >TEST SUCCESS< / option> '); } , 2000 ) ; 通过jQuery,这是有效的。

    question

  3. 基本上我尝试了2种方法和不成功的结果:

    1. 使用Ajax(没有按预期工作)
    2. 尝试刷新我的选择框结果(工作)
    3. 现在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了解目前究竟发生了什么,避免误解。

2 个答案:

答案 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>

现在,每次按下按钮,我的规格列表都会更新最新数据。

希望它有所帮助。