【问题标题】:how retrieve data from db using ajax in laravel 4?如何在 laravel 4 中使用 ajax 从数据库中检索数据?
【发布时间】:2017-05-18 06:37:32
【问题描述】:

如何在 laravel 4 中使用 ajax 从数据库中检索数据?

对不起,我是 ajax 新手,这只是我开始的代码

html

<select id="bookstatus">
    <option value="" disabled selected>Sort by Book Status</option>
        <option value="1">For Rent</option>
        <option value="2">For Barter</option>
</select>

js & ajax:

$('#bookstatus').on('change', function() {
    var bs = document.getElementById("bookstatus");
    var getbookstatus  = bs.options[bs.selectedIndex].value;

    $.ajax({
        method: 'post',
        url: 'discover',
        data:  {getbookstatus:getbookstatus},
        success: function() {
        }   
    });
 });

路线:

Route::post('discover',   'BookController@getbook');
Route::get('discover',   'BookController@getbook');

我的控制器:

public function getbook(){
    $bookstatus = Input::get('getbookstatus');
    $getbook = DB::select("SELECT title FROM books WHERE forRent='$bookstatus' ");

我希望它会根据所选值显示书籍

【问题讨论】:

  • 你的错误是什么?
  • 它不会根据我选择的选择标签显示数据,我希望它使用 ajax 获取数据
  • 你可以看youtu.be/N5ctY9nPt9o

标签: javascript ajax laravel laravel-4


【解决方案1】:

在视图中

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>

<select id="bookstatus">
    <option value="" disabled selected>Sort by Book Status</option>

    <option value="1">For Rent</option>

    <option value="2">For Barter</option>
</select>
<br><br>
<span ><strong>Show the books </strong></span>

<div id="result">

</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<script type="text/javascript">
    $(document).ready(function(){

        console.log('ready work');

        $(document).on('change','#bookstatus',function(){


            var getbookstatus=$(this).val();

            console.log(getbookstatus);

            var op=" ";

            $.ajax({
                type:'get',
                url:'{!!URL::to('findbookstatus')!!}',
                data:{'statusid':getbookstatus},

                success:function(data){
                    console.log(data);
                    console.log(data.length);

                    op+='<ul>';
                    for(var i=0;i<data.length;i++){
                        op+='<li>'+data[i].title+'</li>';
                    }
                    op+='<ul>';
                   $('#result').html(op);
                },
                error:function(){
                        console.log('error');
                }
            });
        });

    });

    </script>
</body>
</html>

在路线

 Route::get('/discover','BookController@getbook');
 Route::get('/findbookstatus','BookController@findbookstatus');

在控制器中

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;


class BookController extends Controller
{



    public function getbook(){
        return view('bookview');
    }

    public function findbookstatus(Request $request){

        $getbook=DB::table('books')->select('title')-> 
                 where('forRent',$request->statusid)->take(100)->get();

                return response()->json($getbook);

    }
}

数据库连接

如果是 laravel 4.2,请转到 config/database.php

'default' => env('DB_CONNECTION', 'mysql'),
'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'your_database'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

如果是 laravel 5.3,请转到 .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=root
DB_PASSWORD=

表结构'书'

enter image description here

详情您可以观看此视频 https://www.youtube.com/watch?v=N5ctY9nPt9o&feature=youtu.be

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2020-04-28
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2015-07-18
相关资源
最近更新 更多