当前位置: 首页 > 知识库问答 >
问题:

laravel 5简单ajax从数据库检索记录

钱青青
2023-03-14

如何使用ajax检索数据?我有我的ajax代码,在我的一些项目中从数据库检索记录时使用过,但不知道如何在Laravel5中使用,因为它有路由和控制器。

我有这个html

<select name="test" id="branchname">
    <option value="" disabled selected>Select first branch</option>
    <option value="1">branch1</option>
    <option value="2">branch2</option>
    <option value="3">branch3</option>
</select>

<select id="employees">
    <!-- where the return data will be put it -->
</select>

还有Ajax

$("#branchname").change(function(){
    $.ajax({
        url: "employees",
        type: "post",
        data: { id : $(this).val() },
        success: function(data){
            $("#employees").html(data);
        }
    });
});

在我的控制器中,我声明了两个雄辩的模型,模型1用于branchname表,模型2用于employees表

use App\branchname;
use App\employees;

因此,我可以检索如下数据(参考下文)

public function getemployee($branch_no){
    $employees = employees::where("branch_no", '=', $branch_no)->all();
    return $employees;
}

如何返回我从employees表中提取的记录?从ajax第一次与控制器通信并返回对ajax post请求的响应的路由进行布线?

任何帮助、建议、建议、想法和线索都将不胜感激。非常感谢。

附言:我是拉威尔5号的新手。

共有3个答案

马涵蓄
2023-03-14

添加您的路线:

Route::post('employees', [
    'as' => 'employees', 'uses' => 'YourController@YourMethod'
]);

Ajax:

Change:
url: "employees"
to:
url: "/employees"
晋鹤轩
2023-03-14

首先检查ajax调用从中启动的页面的url
示例。使用ajax的com/页面

在AJAX中
如果调用$。get('DataList',sendinput,function())
您实际上是在向示例发出get请求。使用ajax/数据列表的com/页面

在Routes
Route::get('page-using-ajax/datalist')中,xyzController@abc)

在控制器方法中

if (Request::ajax())
    {
        $text = \Request::input('textkey');
        $users = DB::table('datalists')->where('city', 'like', $text.'%')->take(10)->get();
        $users = json_encode($users);
        return $users;
    }

在Ajax成功函数中

function(data) {
    data = JSON.parse(data);
    var html = "";
    for (var i = 0; i < data.length; i++) {
        html = html + "<option value='" + data[i].city + "'>";
    };
    $("#datalist-result").html(html);
}
孟杰
2023-03-14

首先,在

<meta name="csrf-token" content="{{ csrf_token() }}" />

这将在您的视图中添加\u标记,以便您可以将其用于post和类似的请求,然后还将以下代码添加到通用JavaScript文件中,该文件将加载到每个请求中:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

所以,对于需要此_token的方法,您不需要担心或自己添加csrf_token。现在,对于发布请求,您可以使用通常的方式使用jQuery向您的Controller发出Ajax请求,例如:

var data = { id : $(this).val() };
$.post(url, data, function(response){ // Shortcut for $.ajax({type: "post"})
    // ...
});

此处,url应与员工路线声明的url相匹配,例如,如果您已声明如下路线:

Route::post('employees/{branch_no}', 'EmployeeController@getemployee');

然后,employeesurl并返回json响应,以从控制器中填充select元素,因此需要的代码(包括javaScript)如下所示:

$.post('/employees/'+$(this).val(), function(response){
    if(response.success)
    {
        var branchName = $('#branchname').empty();
        $.each(response.employees, function(i, employee){
            $('<option/>', {
                value:employee.id,
                text:employee.title
            }).appendTo(branchName);
        })
    }
}, 'json');

Controller您应该发送json_encoded数据,例如:

public function getemployee($branch_no){
    $employees = employees::where("branch_no", $branch_no)->lists('title', 'id');
    return response()->json(['success' => true, 'employees' => $employees]);
}

希望你明白了。

 类似资料:
  • 问题内容: 有一个数据库,它在一个表中大约包含200万条记录。我从我的Java代码中运行查询,例如“ select * from table”。是否将从结果集中的数据库中获取完整数据。或不 。如果是,那么它将如何工作,我想学习此检索工作, 请让我知道,我在某处了解到它将从数据库中检索完整的数据并将其存储在临时存储中,并在输出中显示出来。还是与J2C有关 问题答案: 它会从结果集中的数据库中获取完整

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 关于我的上一个问题,我想从创建的sqlite数据库中检索ID,将其作为Intent putExtra()中的数据传递,以便将其用作PendingContent的ID。getActivity()。目前,我正在使用queryNumEntries为从我的DatabaseManager中的以下代码添加到数据库中的每个提醒设置id。类别: 并在AddActivity中调用它。班 在创建条目时,除了尝试此操作

  • 我想从数据库中检索整个表并将其显示到我的jsp页面中,但我得到了一个错误 我的工作人员豆。java是 而我的getAllDetailDAO.java是 连接提供程序包com.staff.db; 而我的DisplayAllDetail.jsp是 我的错误是 StackTrace:org.apache.jasper.servlet.jspServletwrapper.handleJSPExceptio

  • 如何从数据库中检索数据,其中数据的形式为 我需要没有HTML标签和其他样式的值。我只想要里面的文字。我可以用PHP检索它。 提前感谢。

  • 问题内容: :我只想显示Mysql表记录的简单ajax代码: Records.php是用于从Mysql提取记录的文件。 在数据库中只有两个字段:“名称”,“地址”。 该代码不起作用。 问题答案: 为了使用Ajax + jQuery检索数据,您应该编写以下代码: 对于mysqli连接,请编写以下代码: 为了显示数据库中的数据,您应该这样编写: