在Laravel中执行通过ajax发送的SQL


Execute SQL sent via ajax in Laravel

我想每3秒显示一次我的数据库,而不刷新页面。我写了这段代码,但无法将SQL发送到控制器。

有人能帮我吗?

$( document ).ready(function() {
  function get_fb(){
    var a='';
    $.ajax({
              url : "{{URL::action('DataController@post_appajax')}}",
              type : "POST",
              data : { a : a}
            })
            .done(function(json){
                console.log(json);
            });

    }
setInterval(function(){get_fb();}, 3000);
});
        </script>
public function post_appajax()
{
    if(isset($_POST['a'])) {
        $data = DB::select('SELECT * FROM catetory');
        return View::make('data.index')
        ->with('data', $data);
    }
}
$( document ).ready(function() {
  function get_fb(){
    $.ajax({
              url : "{{URL::action('DataController@post_appajax')}}",
              type : "POST",
              data : {action: 'refresh'}
            })
            .done(function(json){
                console.log(json);
            });

    }
setInterval(function(){get_fb();}, 3000);
});

PHP

public function post_appajax()
{
    if(Input::get('action') == 'refresh') {
        return DB::table('category')->get();
    }
}

经过一些搜索,我写下了这个代码

<script type="text/javascript">
 $( document ).ready(function() {
    function get_fb(){
    $.getJSON('{{URL::to("admin/categories/al")}}',function(data){
            var tb = $("#data")
            tb.html('');
              tb.append("<tr><td>Temperature</td><td>PH</td><td>CLOR</td><td>DATE</td></tr>")
            data.forEach(function(elm){
                tb.append("<tr><td>" + (elm["input1"])/10 + "'c</td><td>" + elm["input2"] + "</td><td>" + elm["input3"] + " ppm</td><td>" + elm["inputDate"] + "</td></tr>")
            })
            console.log(data)
        
        });
        
    }
setInterval(function(){get_fb();}, 1000);
});
</script>
Route::get('admin/categories', 'DataController@getIndex');
Route::get('admin/categories/al','DataController@al');
	public function getIndex() {
		$data = DB::select('SELECT * from data');
		return View::make('data.index')
			->with('data', $data);
	}
	public function al() {
		$data = DB::select('SELECT * from data');
		return json_encode($data);
	}