【问题标题】:alert response returns undefined on JQuery Ajax success callback警报响应在 JQuery Ajax 成功回调上返回未定义
【发布时间】:2019-09-22 21:35:47
【问题描述】:

我在使用 ajax 显示某个类别的项目时遇到了问题。我无法理解如何获取数据。

我的代码有什么问题? item-controller.php

public function findByCategory($cat,$visibility)
{
  return Item::where("item_category_id","=",1)
             ->where("is_visible_".$visibility, "=",1)->get()->all();
}

Javascript

$(document).on('click', '#btn-itemCategory', function(e){
    $.ajax({
      url: "api/item/findByCategory/{cat}",
      data:{cat: 'item_category_id' },  
      dataType: 'json',
      method: 'get',
      success: function(data){
        alert(data);
      },
   });

Blade View

<div class="btn-container flex-horiz flex-justify-center ">
    @foreach ($itemCategories as $pc)
    <button id='btn-itemCategory' class="btn-large" type="button"
        name="button">{{__("itemCategory.$pc->slug")}}</button>
    @endforeach
</div>
<div class="card-container flex-horiz flex-justify-center ">
    @foreach ($items as $item)
    @if ($item->capacity%2)
    <div id="card" class="card">
        <div class=" card-front ">
            <div>
                <h4>{{__("item.$item->slug")}}</h4>
                <p>{{$item->capacity}} m³</p>
                <img src="{{$urlImgitem}}/{{$item->image}}.png" alt="item">
                <p>{{__("item.front_text")}}</p>
                <h4>{{-- $item->prix --}}</h4>
                <button class=" btn-action" type="button" name="button">{{__("item.front_btn")}}</button>
            </div>
        </div>
    </div>
    @endif
    @endforeach
</div>

数据警报是“对象对象”,我应该获取项目列表。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow,您的代码存在几个问题,但请告诉我们您期望结果是什么以及您遇到什么错误
  • 首先,$visibility 在控制器中未定义,您需要将变量设置为您想要的某个值,该值对应于数据库中的列
  • 嗨@CaddyDZ,谢谢你的回答,我更正了我的代码并添加了我从警报中得到的答案。通常 t 应该是一个项目列表,我的意思是所有作为类别编号 1 的项目,不是?
  • 试试alert(data.response)
  • @CaddyDZ 我是这样写的:成功:函数(数据){警报(数据.响应); },答案是“未定义”

标签: ajax laravel get


【解决方案1】:

实际上,您得到的数据是正确的。你只是不知道如何使用它。 来自 Laravel 响应的数据通常是 JSON 格式,您无法使用 alert() 方法显示。 尝试使用 console.log() 然后检查页面。

$(document).on('click', '#btn-itemCategory', function(e){
    $.ajax({
        url: "api/item/findByCategory/{cat}",
        data:{cat: 'item_category_id' },  
        dataType: 'json',
        method: 'get',
        success: function(data){
            console.log(data);
        },
    });
});

您应该会在本节中看到返回的数据。

【讨论】:

  • 哦,我是多么愚蠢;真的很谢谢你 。我只是忘记了 json 点
  • 很高兴答案对您有所帮助。
猜你喜欢
  • 2013-01-23
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 2022-01-02
相关资源
最近更新 更多