2017-05-30 98 views
-3

這是我Index.cshtml文件(我正在學習MVC .NET),當我上的Add按鈕來添加新用戶,不會添加該用戶,當我去檢查我的Api。 我知道路由(api/users)和Json對象都是正確的,並且腳本正在呈現。 我使用Visual Studio 2017 for Mac和我的API服務是服務堆棧。

@model dynamic 

@ { ViewBag.Title = 「蛋白質跟蹤器」; Layout =「../Shared/_Layout.cshtml」; }

@section scripts 
{ 
    <script type="text/javascript"> 
     function AddNewUser(){ 
      var goal = $('#goal').val(); 
      var name = $('#name ').val(); 

      $.post("api/users", { 'Name' : name, 'Goal' : goal }); 
} 
</script> 

} 


<h2>Protein Tracker</h2> 
<div> 
    <label for="select-user">Select a user</label> 
    <select id="select-uder"></select> 
</div> 
<hr /> <!-- horizontal rule --> 
<div> 
    <h2>Add new user</h2> 
    <label for="name">Name</label> 
    <input id="name" type="text" /><br /> 
    <label for="goal">Goal</label> 
    <input id="goal" type="text" /><br /> 
    <input id="add-new-user-button" type="button" value="Add" onclick="AddNewUser()" /> 
</div> 
+0

不知道它會幫助,但你可以嘗試在一個標籤內的HTML。 – Xariez

+1

'$('#name')''中有一個額外的空間。 – Pyromonk

+1

當您調試時,特別是在哪裏失敗?瀏覽器的調試控制檯是否有JavaScript錯誤?是否發出POST請求?它是否包含您期望的數據?服務器的迴應是什麼?我們需要更多信息。 – David

回答

1

謝謝你的幫助球員,我都試過了大家的建議,但是當我使用過Chrome WebInspector(如@mythz建議),我發現沒有定義的「$」,讓我明白了我的代碼不被識別爲JQuery或類似的東西。而當我添加下面的代碼行它的工作如預期:

如果
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>