【问题标题】:Javascript : Get data through ajax callJavascript:通过ajax调用获取数据
【发布时间】:2018-06-20 19:39:46
【问题描述】:

这个问题可能已经发布了很多次了。但我没有从那些人那里得到答案。我在 Ajax 调用中传递了 url,我想要通过查询从数据库中获取的任何内容,进入ajax请求的成功方法。但不知何故我没有得到这个。

Ajax调用方法:

function validateAmount() {
    var amount = document.getElementById("amount").value;
    // alert(amount);
    // var y = x.value;
    $.ajax({
        url : "{{url('getAmount')}}",
        type : "GET",
        async : false,
        dataType : "json",
        success : function (result) {
            alert();
        }
    });
}

和数据库查询:

这就是我想要返回的东西

public function getAmount(){
    $user_id = session('user_id');
    $res = DB::table('table_name')->where(['user_id'=>$user_id])->first();
    return $res;
}

还有一件事,当我在 getAmount 方法中简单地回显字符串时,ajax 调用会成功,但是当我尝试通过查询访问数据时,我会失败。

请帮我搞定这个。 任何帮助将不胜感激。在此先感谢。

【问题讨论】:

  • 您在查询中显然有一些错误。检查日志并修复它。
  • 您没有从您的 PHP 中返回 JSON,因为您的 jQuery AJAX 调用是预期的。试试return json_encode($res);。另外,删除async: false。这是非常糟糕的做法。
  • 感谢您的回答。我知道​​了

标签: javascript php jquery ajax laravel-5.2


【解决方案1】:

首先 :删除 async: false 如 Rory 在 cmets 中提到的。

第二:对于ajax,你必须使用echo json_encode($my_data_array);

第三:不要使用alert,而是使用console.log(result)来查看您的数据。

【讨论】:

    【解决方案2】:

    使用Collection::toJson() 方法将您的集合转换为json字符串:

    $res = DB::table('table_name')->where('user_id', $user_id)->first();
    return $res->toJson();
    

    Collection::toArray() 也可以使用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 2013-04-12
      相关资源
      最近更新 更多