Cik*_*nas 0 ajax model-view-controller jquery json controller
我需要从控制器获取数据到View作为JSON格式,但它不起作用,我不明白为什么.
我的控制器(我在索引操作上请求它):
public class HomeController : Controller
{
CompanyTicketsDb _db = new CompanyTicketsDb();
public ActionResult Index()
{
var model =
_db.Tickets
.Select(r => new TicketListViewModel
{
Id = r.Id,
Name = r.Name,
Description = r.Description,
CompanyName = r.CompanyName,
Status = r.Status,
CompanyId = r.CompanyId,
});
if (Request.AcceptTypes.Contains("application/json"))
{
return Json(model, JsonRequestBehavior.AllowGet );
}
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
而我的观点(这是局部视图)看起来像是(测试模式):
@model IEnumerable<MvcApplication4.Models.TicketListViewModel>
<button id="Button1">asd</button>
@section scripts {
<script src="~/Scripts/knockout-3.2.0.js"></script>
<script>
$(document).ready(function () {
$("#Button1").click(function (evt) {
type: 'GET'
url = '/';
dataType = 'json';
contentType = 'application/json';
success = function (data) {
alert(data);
console.log("asd");
};
error = function () { alert("Error retrieving employee data!"); };
});
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
问题是我没有得到任何消息(也没有allert或控制台日志)来测试返回的JSON是否有效所以在那之后我可以使用它们来填充View.
因为你的语法错了.您正在使用'=',但您应该使用':'.
@model IEnumerable<MvcApplication4.Models.TicketListViewModel>
<button id="Button1">asd</button>
@section scripts {
<script src="~/Scripts/knockout-3.2.0.js"></script>
<script>
$(document).ready(function () {
$("#Button1").click(function (evt) {
$.ajax({
type: 'GET'
url : '/';
dataType : 'json';
contentType : 'application/json';
success : function (data) {
alert(data);
console.log("asd");
};
error : function () { alert("Error retrieving employee data!"); };
});
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |