2010-05-05 63 views
3

我在aspx頁面上有兩個用戶控件,並且其中一個用戶控件具有用於註釋的文本區域。我試圖使用JSON,以便當他們點擊addnote按鈕時,它不會重新加載頁面。不允許使用用於訪問路徑'/ Documents/TestNote/Documents/AddNote'的HTTP動詞POST

下面是我的Java腳本,但它說,它給這個錯誤

使用「/文件/ TestNote /文檔/ AddNote」是不允許訪問路徑的HTTP動詞POST。

<script type="text/javascript"> 
    $(document).ready(function() { 

     $("#btnAddNote").click(function() { 
      alert("knock knock"); 
      var gnote = getNotes(); 
      //var notes = $("#txtNote").val(); 
      if (gnote == null) { 
       alert("Note is null"); 
       return; 

      } 

      $.post("Documents/AddNote", gnote, function(data) { 
       var msg = data.Msg; 
       $("#resultMsg").html(msg); 
      }); 
     }); 
    }); 

    function getNotes() { 
     alert("I am in getNotes function"); 
     var notes = $("#txtNote").val(); 
     if (notes == "") 
      alert("notes is empty"); 
     return (notes == "") ? null : { Note: notes }; 
    } 
</script> 

我控制器

[HttpPost] 
    public ActionResult AddNote(AdNote note) 
    { 
     string msg = string.Format("Note {0} added", note.Note); 
     return Json(new AdNote { Note = msg }); 


    } 
+0

你確定你打的是正確的控制器和操作嗎?如果刪除'HttpPostAttribute'裝飾,它是否正常工作? – 2010-05-05 18:16:34

+0

我不認爲它進入了第三方,因爲我提出了一個突破點並且沒有達到那個目標,但是你是否看到我的代碼中有任何錯誤? – user331772 2010-05-05 18:23:27

回答

0

我看到了兩個錯誤:
- var msg = data.Msg;應該var msg = data.Note;
- 使用<%=Url.Action("AddNote","Documents")%>,而不是"Documents\AddNote"

+0

我做了更改後,你建議它進入控制器,但不會將我的父親傳遞給控制器​​,當我嘗試做Note.note時,它說「對象引用未設置爲對象的實例」。 – user331772 2010-05-05 20:53:24

+0

好的,調試你的動作返回(例如使用螢火蟲)並分享它。 – 2010-05-05 21:09:23

+0

還調試'data.'到'$ .post'。 – 2010-05-05 21:18:00

1

控制器使用

return Json(new AdNote { Note = msg },sonRequestBehavior.AllowGet); 
相關問題