Javascript:通过ajax调用获取数据

时间:2018-01-11 12:58:04

标签: javascript php jquery ajax laravel-5.2

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

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调用会成功,但是当我尝试通过查询访问数据时,我会失败。

请帮我解决这个问题。 任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:3)

首先:删除评论中提到的Rory async: false

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

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

答案 1 :(得分:0)

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

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

Collection::toArray()也适用