这个问题可能已被发布了很多次。但是我没有得到那些答案。我在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调用会成功,但是当我尝试通过查询访问数据时,我会失败。
请帮我解决这个问题。 任何帮助将不胜感激。谢谢。
答案 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();