2013-02-25 76 views
4

我想用jQuery ajax將用戶在文本框中輸入的值保存到數據庫中。但我感到如何繼續下去。我所做至今:jQuery.Ajax與MVC

用戶點擊按鈕,我打電話jQuery的功能,我打電話控制器

comments = $("#txtComments").val(); 
var request = $.ajax({ 
       url: "/Home/SaveCommentsData", 
       type: "POST", 
       data: { comment: comments }, 
       dataType: "json" 
      }); 

,我不知道如何在控制器中獲取此評論值和發送的值回jQuery成功。

+1

SaveCommentsData是控制器的動作叫什麼名字MVC是您使用? – 2013-02-25 08:42:27

+0

瀏覽器控制檯說什麼?有錯誤嗎? – 2013-02-25 08:45:19

+0

@yechie yes itz a action。 MVC4 – user2067567 2013-02-25 08:51:14

回答

6

試數據這樣

數據:{ '評論':註釋}

,並使用在控制器動作相同的變量作爲字符串類型

comments = $("#txtComments").val(); 
var request = $.ajax({ 
       url: "/Home/SaveCommentsData", 
       type: "POST", 
       data: { 'comment': comments }, 
       dataType: "json" 
      }); 

控制器

[AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult SaveCommentsData(string comment) 
     { 

// 
} 

Regards

+0

如果我想發送數據中的多個文本,該怎麼辦:{comment:comments}? – user2067567 2013-02-25 09:05:31

6

腳本

$.ajax({ 
    url: "/Home/SaveCommentsData", 
    type: "POST", 
    data: { comment: comments }, 
    dataType: "json", 
    success: function (data) { 
     // data is returning value from controller 
     // use this value any where like following 
     $("#div_comment").html(data); 
    } 
}); 

控制器

[HttpPost] 
public ActionResult SaveCommentsData(string comment) 
{ 
    // save comment 
    var result = someData; // maybe saved comment 
    return Json(result); 
} 
+0

謝謝你們,我們都很開心。我會upvote一旦我達到15 :) – user2067567 2013-02-25 08:59:25

2

客戶端腳本-jQuery的

$.ajax({ 
    url: "/Home/SaveCommentsData", 
    type: "post", 
    data: { comment: comments }, 
    dataType: "application/json", 
    success: function (data) { 
     if(data.Success) 
     { 
      alert('Done'); 
     } 
    } 
}); 

控制器側代碼

[HttpPost] 
public ActionResult SaveCommentsData(string comment) 
{ 
    // save comment 
    return Json(new {Success:true}); 
} 
+0

謝謝。我試過,工作正常。但成功funciton警報不工作? – user2067567 2013-02-25 08:58:17

2

試試這個

comments = $("#txtComments").val(); 
var request = $.ajax({ 
    url: '@Url.Action("SaveCommentsData","Home")', 
    type: "POST", 
    data: JSON.stringyfy({ 'comment': comments }), 
    dataType: "json", 
    success: function(data){ 
     alert(data.status); 
    } 
}); 

控制器

[HttpPost] 
public JsonResult SaveCommentsData(string comment) 
{ 
    //Do something 
    return Json(new 
      { 
       status = false 
      }); 
}