JQuery Ajax使用不存在的url参数返回成功

时间:2015-07-15 22:48:13

标签: javascript php jquery ajax laravel

所以我在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')}}”

感谢大家的帮助:)。

1 个答案:

答案 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');
  }
})