我是初学者JSON
。我的困惑是为什么我们要用JSON
而不是从后端获取并显示数据,而使用Java Script/JQuery
的MVC
。MVC C#.Net with JSON
我希望你的回答能让我摆脱困惑。
我是初学者JSON
。我的困惑是为什么我们要用JSON
而不是从后端获取并显示数据,而使用Java Script/JQuery
的MVC
。MVC C#.Net with JSON
我希望你的回答能让我摆脱困惑。
并不是所有人都追求JSON。但其中有很多可怕的。在mvc中有两种呈现视图的方式,一种是模型绑定,另一种是使用API并通过Javascript呈现元素。前者涉及所有服务器资源的使用,而后者则是通过服务器执行数据库操作。元素的渲染在客户机上完成。因此它可以提供更好的性能并最大限度地减少服务器的使用但是这种改进的性能需要一定的成本。
像谷歌这样的搜索引擎阻止了第二种方法,因为他们难以呈现完整的视图。此外,仅Ajax网站不会提供良好的用户体验。随着技术堆栈和服务器性能的提高,性能不再是关键问题。
其他因素是安全性。如果您正在处理api数据以呈现元素,您的安全性可能会受到影响,因为恶意用户可以更改代码并查看不适合他们的内容。
但是,如果您不关心搜索引擎优化并仔细实施您的Ajax,那么第二种方式也无妨。
JSON在建模字符串中的对象方面很出色。这使您可以轻松地表示强类型对象并通过POST数据通过HTTP传递它们。
让我们说在C#中你有一个作业控制器。
它有一个叫做
void Create(Job job)
{
db.Jobs.Add(job);
db.SaveChanges();
}
方法和工作POCO类看起来是这样的。
public class Job
{
public int Id {get;set;}
public string Name {get;set;}
public bool IsActive {get;set;}
}
你可以很容易地写入这个或任何JSON对象的值。 在JavaScript中,你可以设置的值作为变量
var job = {
id: 23,
name: 'Programming Job',
isActive: true
};
可以将此转换为字符串,预备一个ajax后这样。
var postData = JSON.stringify(job);
当您发布到您的控制器时,即使使用不同的外壳,JSON也会自动映射到您的C#Job类。
允许执行
void创建(工作任务)
非常感谢Proximo。它是一个很好的例子。 – user2738864
序列化是更快,更简单到后端和前端之间traval。
后端只是处理从数据库中获取数据。客户然后处理这些数据的显示。
说你打电话给朋友帮忙做一个蛋糕。你有成分,但不知道如何去做。 你是否愿意让你的朋友请你到他的位置来帮助你做蛋糕,或者你是否愿意让他给你指示,然后通过电话自己制作蛋糕?
我不确定我的例子是否完全准确:p
嗨亲爱的,谢谢你的回复,但我对你的回答很困惑。我的困惑是从控制器获取数据的更好方法是使用JSON还是使用模型绑定而不是JSON,为什么? – user2738864
@ user2738864哦,对不起。那么我不熟练呢。我正在使用的这两个创业公司,我不知道哪个更好。我认为这取决于您的项目如何构建,以及您的需求。 – 2016-07-30 09:27:07
好吧亲爱的不用担心:) – user2738864
非常感谢Rachit你的回答使我受到了很多的支持。 – user2738864
我的荣幸。如果它解决了你的查询,接受它作为答案。为此,请在答案旁边勾上灰色刻度线。 –
亲爱的Rachit,一个简单的问题是有没有办法在MVC中使用AJAX updatepanel来使用我们的回发,或者我们必须使用JSON? – user2738864