我目前正在尝试实现AJAX搜索,并在那里遇到了JSON帮助函数,现在我不知道该怎么做才能摆脱这个东西。返回对象的JSON帮助函数
这里是我的努力:
查看
<script>
$(document).ready(function(){
$("#q").bind("keyup",function(){
//alert(this.value)
var search=this.value;
var str;
$.ajax({
url:"/search",
type:"get",
data:{q:search},
dataType:'JSON',
success:function(result){
alert(result);
var obj= JSON.parse(result);
alert(obj);
$("#searchdiv").html("<a href='#' onclick='myfunc();return false;'>"+obj[0].name+"</a>");
}
});
$("#q").on("focusout",function(){
$("#searchdiv").slideUp();
});
$("#q").on("focus",function(){
$("#searchdiv").slideDown();
});
});
});
</script>
控制器
public function index(Request $request)
{
$query= $request->input('q');
$search = DB::select('select book_master.book_name,author_profile.author_name from book_master,author_profile where book_master.book_name=? or author_name=?',[$query,$query]);
return response()->json(array('searchdata'=>$search),200);
}
路线
Route::any('/search','[email protected]');
你的Ajax似乎是工作的罚款,这是什么问题? – madalinivascu
首先,如果在请求中使用dataType,则不需要解析json。那么你能否提供你的请求结果的转储? – GiuServ
您已经意识到浏览器控制台,因此不需要使用'alert()'来检查变量 - 正如您所看到的,它将所有内容都转换为字符串,因此它基本上是无用的。尝试'console.log()'和[朋友](https://developers.google.com/web/tools/chrome-devtools/console/console-reference)。 –