2017-09-27 76 views
-1

我試圖從我的視圖發送一個AJAX發佈請求到控制器,以添加新的數據到我的數據庫。但是當我在View(Index.cshtml)中編寫一個腳本來完成時,它不起作用。我試着在函數內部設置一個斷點,它說<script>代碼裏面的代碼沒有註冊

斷點當前不會被命中。沒有 調試器的目標代碼類型的可執行代碼與此行關聯。可能的 原因包括:條件編譯,編譯器優化或 該行的目標體系結構不受當前 調試器代碼類型的支持。

聲明:我可能完全錯誤,但我認爲我沒有,而且我很困惑,爲什麼我得到這個錯誤。我怎樣才能正確地做到這一點?

腳本我試圖運行:

<script> 
    $("#AddFriend").click(function() { 
     mydata = { AddName: $("#AddName").val(), AddLastName: $("AddLastName").val(), AddAge: $("AddAge").val(), AddTag: $("AddTag").val() } 
     $.ajax({ 
      url: "/Home/AddFriend", 
      type: 'Post', 
      data: mydata, 
      success: null 
     }); 
    }); 
</script> 

代碼它指的是部分:

   <div> 
       <label>Name:</label><input id="AddName" type="text" /> <br /> 
       <label>Last name:</label><input id="AddLastName" type="text" /> <br /> 
       <label>Age:</label><input id="AddAge" type="text" /> <br /> 
       <label>Tag:</label><input id="AddTag" type="text" /> <br /> 
       <label id="AddLabel"></label> 
       <button id="AddFriend">Submit</button> 
      </div> 

控制器內部功能的AJAX代碼應達到:

[HttpPost] 
    public void AddFriend(string AddName, string AddLastName, string AddAge, string AddTag) 
    { 
     using (var context = new ContactEntities1()) 
     { 
      Friend fr = new Friend(); 
      fr.userId = 1; 
      fr.Name = AddName; 
      fr.LastName = AddLastName; 
      fr.Age = Convert.ToInt32(AddAge); 
      fr.Tag = AddTag; 
      context.Friend.Add(fr); 
      context.SaveChanges(); 
     } 
    } 

(爲了記錄,我在下面一行設置了斷點:)

mydata = { AddName: $("#AddName").val(), AddLastName: $("AddLastName").val(), AddAge: $("AddAge").val(), AddTag: $("AddTag").val() } 
+0

點擊AddFriend按鈕後,你檢查了斷點嗎? –

+0

這個問題不清楚,我真的不知道你在問什麼。這似乎是一種幫助,而不是任何事情。但沒有一個明確的問題,我看不出這是怎麼回事。 – Liam

+0

@Liam當我點擊「AddFriend」按鈕時,沒有任何反應。腳本不應該在那時執行?然後,當我添加斷點時,我收到錯誤消息「斷點不會被打」,這意味着它沒有到達代碼的那一部分,我不知道爲什麼。這是我的問題 –

回答

1

回答這個問題

點擊不點火所有,我試圖加入,在點擊功能開始改變了標籤的 值線,它止跌」牛逼 既可以執行的,所以我想點擊功能本身不執行

我認爲你只是缺少一個ready()

$(document).ready(function() { 
 
    $("#AddFriend").click(function() { 
 
     alert('click fired'); 
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
     <label>Name:</label><input id="AddName" type="text" /> <br /> 
 
     <label>Last name:</label><input id="AddLastName" type="text" /> <br /> 
 
     <label>Age:</label><input id="AddAge" type="text" /> <br /> 
 
     <label>Tag:</label><input id="AddTag" type="text" /> <br /> 
 
     <label id="AddLabel"></label> 
 
     <button id="AddFriend">Submit</button> 
 
    </div>

.ready()方法提供了一種方法,只要 運行JavaScript代碼的頁面的文檔對象模型(DOM)成爲安全的操作。