我有一個jQuery的功能,點擊一個div元素,獲取該元素預定義的ID值。我想要做的是加載父母元素的孩子,所以我打算使用jQuery動態構建一些html。我不知道該怎麼做,是調用一個控制器(ASP.NET MVC 3)並讓控制器將一個集合返回給客戶端。如何從ASP.NET MVC控制器動態獲取數據到jQuery?
我知道如何從JQuery發送JSON對象到控制器,但不是相反。
在此先感謝!
我有一個jQuery的功能,點擊一個div元素,獲取該元素預定義的ID值。我想要做的是加載父母元素的孩子,所以我打算使用jQuery動態構建一些html。我不知道該怎麼做,是調用一個控制器(ASP.NET MVC 3)並讓控制器將一個集合返回給客戶端。如何從ASP.NET MVC控制器動態獲取數據到jQuery?
我知道如何從JQuery發送JSON對象到控制器,但不是相反。
在此先感謝!
這裏是你如何從控制器將數據發送到JSON代碼:
$.ajax({
url: '@Url.Action("GetData", "Home")',
type: "GET",
success: function (result) {
$("#somediv").append(result.FirstName);
$("#somediv").append(result.LastName);
$("#somediv").append(result.Age);
}
});
考慮一類類似下面....
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
你的動作應該是這樣的。
public JsonResult GetData()
{
User user = new User();
user.FirstName = "Yasser";
user.LastName = "Shaikh";
user.Age = 100;
return Json(user, JsonRequestBehavior.AllowGet);
}
您可以使用jQuery的ajax
功能和MVC剃刀Url
屬性:
$.ajax({
url: '@Url.Action("Home")',
type: "GET",
success: function (data) {
$("my-div").append(data);
}
});
成功屬性的值是一個參數的函數:數據。這是您的控制器返回的結果。
樣品:
的Javascript:
$.ajax({
type: 'POST',
url: '@(Url.Action("SomeAction", "SomeController"))',
data: someInputData,
error: OnErrorFunction,
success: function (data, textStatus, XMLHttpRequest) {
alert(JSON.stringify(data));
},
dataType: "json"
});
控制器:
public ActionResult SomeAction(InputDataType someInputData)
{
if (someInputData== null)
return null;
return new JsonResult {Data = SomeOutputData(someInputData)};
}
所有好的答案,很難挑選一個作爲回答。選擇Yasser作爲進一步的閱讀鏈接特別有幫助,但都讓我朝着正確的方向前進。謝謝大家 –
這個例子中的家庭是什麼? –
@KalaJ home是'HomeController',它只是一個給控制器的名字。 – Yasser