所以我在Laravel的一个观点中有这个代码: (没有像“不存在”这样的网址,我只是编造了它)
<script type="text/javascript">
$(document).ready(function(){
$('#btnAdd').click(function(){
addToCart();
});
function addToCart(){
$.ajax({
method: "GET",
url: "nonexistenturl",
data: { msg: 'hi' },
success: function(data){
alert('success');
}
})
}
});
</script>
警告信息显示,我不明白为什么。谢谢你的帮助!
编辑0: 现在我在另一个View中尝试了相同的代码,但我得到了一个错误,但我不知道为什么它在另一个视图中有效。
修改1:
出于某种原因,如果我运行从一个特定视图发布的javascript代码,则执行以下代码:
public function show($id)
{
$recipe = \App\Recipe::find($id);
return view('recipes.show')->with('recipe', $recipe);
}
Laravel的目的是:
Route::get('recipe/{id}', 'RecipesController@show');
所以就好像ajax请求正在使用另一个url,即当前视图中的那个...
修改2
我现在感觉很蠢。正如charlietfl建议使用网址“recipe / nothingxistent”。所以我要做的就是使用:url:“{{url('route')}}”
感谢大家的帮助:)。
答案 0 :(得分:0)
这可能意味着Laravel正在返回某种类型的网页,即使没有数据,它返回的东西也会被认为是成功的。调试此方法的一种好方法是提醒数据,如果返回一个对象,则提醒data.responseText。
alert(data.responseText);
这也有助于浏览您正在制作的任何虚假网址,以查看Laravel返回的内容。 的修改
尝试将json指定为返回类型,我相信它默认为文本。
$.ajax({
method: "GET",
url: "nonexistenturl",
dataType: 'json',
data: { msg: 'hi' },
success: function(data){
alert('success');
}
})