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

时间:2015-03-21 23:16:02

标签: php ajax 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);
    }

}

2 个答案:

答案 0 :(得分:0)

$( 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();
    }

}

答案 1 :(得分:0)

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

<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);
	}