Asp.net mvc 如何阻止explorer Json下载奇怪的bahaviour?

Asp.net mvc 如何阻止explorer Json下载奇怪的bahaviour?,asp.net-mvc,json,knockout.js,knockout-mapping-plugin,Asp.net Mvc,Json,Knockout.js,Knockout Mapping Plugin,我无法将Json数据绑定到表。internet explorer还希望下载Json数据。如何停止explorer下载请求并填写表格。我一直在阅读更多的问题和谷歌文章。我不明白为什么knockout.js不能绑定数据。我已经学会了在knockout和json绑定中绑定arhitecture 就像这样: 我想用绑定的方法。但我无法阻止iexplorer的下载行为 var result = function () { $.ajax({ type: "get",

我无法将Json数据绑定到表。internet explorer还希望下载Json数据。如何停止explorer下载请求并填写表格。我一直在阅读更多的问题和谷歌文章。我不明白为什么knockout.js不能绑定数据。我已经学会了在knockout和json绑定中绑定arhitecture

就像这样:

我想用绑定的方法。但我无法阻止iexplorer的下载行为

  var result = function () {
    $.ajax({
        type: "get",
        url: "/Contact/GetEmployees/",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {

            viewModel = ko.mapping.fromJS(data, self.Employees);

        },
        error: function (error) {
            alert(error.status + "<--and--> " + error.statusText);
        }
    });
};

ko.utils.arrayMap(result, function (i) { Directory.list.push(new Employee(i.EmployeeCode, i.EmployeeName)); });
var结果=函数(){
$.ajax({
键入:“获取”,
url:“/Contact/GetEmployees/”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
viewModel=ko.mapping.fromJS(数据,self.Employees);
},
错误:函数(错误){
警报(error.status+“”+error.statusText);
}
});
};
ko.utils.arrayMap(结果,函数(i){Directory.list.push(newemployee(i.EmployeeCode,i.EmployeeName));});
也:

@{
ViewBag.Title=“GetPerson”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
GetPerson
功能人员(名字、姓氏、朋友){
var self=这个;
self.FirstName=ko.observable(FirstName);
self.LastName=ko.observable(LastName);
self.FullName=ko.computed(函数(){
返回self.FirstName()+“”+self.LastName();
})
self.Friends=ko.array(Friends);
self.AddFriend=函数(){
self.Friends.push(新人('new','Friends'));
};
self.DeleteFriend=函数(friend){
self.Friends.remove(朋友);
};
}
var viewModel=newperson();
$(文档).ready(函数(){
$.ajax({
url:'Person/GetPerson',
数据类型:“json”,
键入:“GET”,
成功:函数(jsonResult){
viewModel=ko.mapping.fromJS(jsonResult,mapping);
console.log(viewModel);
应用绑定(视图模型);
}
});
});
变量映射={
创建:函数(选项){
var person=options.data,
friends=ko.utils.arrayMap(person.friends,function(friend){
返回新联系人(friend.FirstName、friend.LastName);
});
返回新的Person(Person.FirstName、Person.LastName、friends);
}
};
@使用(Html.BeginForm())
{
名字:

姓氏:

全名:

#朋友们:

@*最多允许5个朋友*@

@*定义应该如何呈现朋友*@ 名字: 姓氏: 全名: }
控制器方法:


  public class PersonController : Controller
    {
        //
        // GET: /Person/

        public ActionResult GetPerson()
        {
            Person person = new Person
            {
                FirstName = "My",
                LastName = "Name",
                Friends = new List<Person>
                        {
                             new Person{FirstName = "Friend", LastName="Number1"},
                             new Person{FirstName = "Friend", LastName="Number2"}
                        }
            };
            return Json(person, "text/html", JsonRequestBehavior.AllowGet);
 //return Json(person,  JsonRequestBehavior.AllowGet);  Not working
        }
    }


公共类PersonController:控制器
{
//
//获取:/Person/
公共行动结果GetPerson()
{
人=新人
{
FirstName=“我的”,
LastName=“Name”,
朋友=新列表
{
新人{FirstName=“Friend”,LastName=“Number1”},
新人{FirstName=“Friend”,LastName=“Number2”}
}
};
返回Json(person,“text/html”,JsonRequestBehavior.AllowGet);
//返回Json(person,JsonRequestBehavior.AllowGet);不工作
}
}

如何解决绑定和下载问题?

你能发布你的
ContactController.GetEmployees
方法吗?很可能你的服务器提供的json内容类型错误(应该是“应用程序/json”)。GetEmployees:@newesv i已添加。但是返回Json(person,JsonRequestBehavior.AllowGet);也不起作用。

  public class PersonController : Controller
    {
        //
        // GET: /Person/

        public ActionResult GetPerson()
        {
            Person person = new Person
            {
                FirstName = "My",
                LastName = "Name",
                Friends = new List<Person>
                        {
                             new Person{FirstName = "Friend", LastName="Number1"},
                             new Person{FirstName = "Friend", LastName="Number2"}
                        }
            };
            return Json(person, "text/html", JsonRequestBehavior.AllowGet);
 //return Json(person,  JsonRequestBehavior.AllowGet);  Not working
        }
    }