【问题标题】:laravel ajax get request on orderBy => internal server errorlaravel ajax 在 orderBy => 内部服务器错误上获取请求
【发布时间】:2015-04-02 11:21:16
【问题描述】:

我想通过 ajax 请求从 mssql 服务器表中执行一个简单的“orderBy”数据... 但我收到内部服务器错误 500

这是我的路线:

Route::get('intranet_admin/gestioneStatoUtenti/rotte', 'UserController@orderByDrop');

这是我的控制器:

public function orderByDrop(){
    $selectedValue = Input::get('filter_id');

        $fetchFilter = User::orderBy($selectedValue)->get();

        return Response::json($fetchFilter);
}

这是我的看法:

 <div class="large-3 columns">

        <select name="filter_id" id="filterValue">
              <option value="TLK">Tlk</option>
              <option value="StatoUtent">Stato Utente</option>
              <option value="CodFisc">Codice Fiscale</option>
              <option value="IdUtente">Id Utente</option>

        </select>


    </div>

    <script>
    $(document).ready(function($){

    $('#filterValue').change(function(e){
            console.log(e);
            var filter_id = e.target.value;

            $.get('gestioneStatoUtenti/rotte?filter_id='+ filter_id, function(data){

                        console.log(data);

            });
    });

     });
    </script>

干杯

【问题讨论】:

  • 您的用户表是什么样的?
  • IdUtente|| TLK ||统计 ||鳕鱼鱼 || .. 像这样的
  • 您发送 filter_id 但在您的控制器中期望 filter
  • 您的错误日志是怎么说的?服务器错误 500 通常意味着您的 PHP 代码失败。
  • gestioneUtenti/rotte?filter_id=TLK 500 (内部服务器错误) jquery-2.1.1.js:8623send jquery-2.1.1.js:8623jQuery.extend.ajax jquery-2.1.1.js :8152jQuery.(匿名函数) jquery-2.1.1.js:8298(匿名函数) gestioneUtenti:45jQuery.event.dispatch jquery-2.1.1.js:4409elemData.handle

标签: javascript php sql-server ajax laravel


【解决方案1】:

问题是Response::json() 需要一个数组,但是您传递的是一个对象。

在 Laravel 中,Model::orderBy()-&gt;get() 将返回一个具有类似数组行为的 Eloquent 集合对象。要解决这个问题,您只需要告诉集合以数组而不是集合对象的形式返回自身。

$fetchFilter = User::orderBy($selectedValue)-&gt;get()-&gt;toArray();

【讨论】:

  • Response::json() 自动将集合格式化为数组。有时我不会在返回 json 响应之前对我的集合进行排列,它工作正常。
  • @KeizerBridge 不符合 api 文档 string|array $data laravel.com/api/4.2/Illuminate/Support/Facades/…
  • 它们都是为了懒惰的开发者。
  • -- 格式分隔符不匹配 格式分隔符不匹配 -- 如果我转换 eloquent ->toArray()
  • 通过将 Eloquent 更改为 MSSQL 服务器的 QueryBuilder 解决 $fetchUtenti = DB::table('Name_Table')->orderBy($selectedValue)->get();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 2019-08-18
  • 1970-01-01
  • 2019-06-05
  • 2016-04-21
相关资源
最近更新 更多