簡體   English   中英

jQuery Ajax使用不存在的url參數返回成功

[英]JQuery Ajax returning success with nonexistent url parameter

因此,在Laravel的一種觀點中,我有這段代碼:(沒有“ unexistenturl”這樣的網址,我只是整理了一下)

<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:現在,我在另一個視圖中嘗試了相同的代碼,但出現了必須的錯誤,但是我不知道為什么它在另一個視圖中仍然有效。

編輯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建議的那樣,它使用的是“食譜/不存在”網址。 所以我所要做的就是使用:url:“ {{url('route')}}”

謝謝大家的幫助 :)

這可能意味着Laravel正在返回某種類型的網頁,即使上面沒有數據,它返回的內容也被認為是成功的。 調試此錯誤的一個好方法是警告數據,如果返回一個對象,則警告data.responseText。

alert(data.responseText); 

這也將有助於導航您正在制作的任何偽造的URL,以查看Laravel返回的內容。 編輯

嘗試將json指定為返回類型,我相信它默認為text。

$.ajax({
  method: "GET",
  url: "nonexistenturl",
  dataType: 'json',
  data: { msg: 'hi' },
  success: function(data){
    alert('success');
  }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM