我计划的是创建一个完全基于ajax请求的网站。但是我脑子里有一些问题,
1-我应该使用javascript路由引擎,库ext吗?我真的需要它吗?因为我正在研究的网站非常庞大,肯定会长大。
2-我将只通过ajax加载每个页面内容,但我不会使用JSON
,我打算使用PartialViews
那可以吗?
3-
<script type="text/javascript">
$("a.ajax").click(function() {
$(".placeholder").load(this.href);
return false;
});
</script>
<a class="ajax" href="/Home/Products/2">Products</a>
<div class="placeholder"></div>
这是我的过程的简单代码,问题在于历史,当用户想要回来时,它将失败。我怎样才能解决这个问题呢?
答案 0 :(得分:3)
1-我应该使用javascript路由引擎,库ext吗?我真的吗 需要它?因为我正在研究的网站非常庞大而且会 肯定会长大。
如果客户端上有很多逻辑,可以考虑使用一些MVVM javascript框架。 KnockoutJS
和AngularJS
是一些受欢迎的选择。
2-我将通过ajax加载每个页面内容,但我不会使用JSON, 我打算使用PartialViews就行了吗?
您可以使用HTML5 History API
,这样您就可以在每次发出AJAX请求时向浏览器历史记录添加条目。
以下是一个例子:
$("a.ajax").click(function() {
var href = this.href;
var title = $(this).text();
$(".placeholder").load(href, function() {
// Add an entry in the browser history
history.pushState(null, title, href);
});
return false;
});
答案 1 :(得分:0)
尝试查看angularjs。 AngularJs + asp.net web api将是一个很好的方法
答案 2 :(得分:0)
回答q1:最好使用像angular.js这样的mvvm框架,但你也可以自己处理所有内容,当然如果你想处理这些事情你必须编写更多代码! 回答q2:没关系,只需通过ajax调用调用一个action方法,并在action方法中渲染一个partialview,并在你想要的任何地方更新你的成功函数,我也使用这个方法:)