Ajax.get()vs $(div).load vs html.renderaction MVC 4

时间:2014-01-20 14:43:42

标签: jquery ajax asp.net-mvc-4

有人可以为我解决一些困惑。

我需要更新局部视图。首次加载页面时,我使用@ Html.RenderAction调用控制器操作来更新视图。我在页面上有一个按钮,当点击时,将使用$(div).load将HTML直接加载到div中。

1)如果我将js注入到HTML中,它会在加载到div标签时执行吗?

2)我什么时候应该使用ajax.get()而不是$(div).load?有什么情况我应该使用一个而不是另一个吗?

3)ajax.get()是否也会执行注入的js?

提前致谢...

1 个答案:

答案 0 :(得分:2)

1)如果您通过<script>标签添加JS,那么只要页面解析并找到JS,它就会呈现。

2)使用.load()用来自加载的URL响应的内容替换容器内的内容,而.get()将只获取数据,然后由你来操作div:

$.get( "ajax/test.html", function( data ) {
  $( ".result" ).html( data );
  alert( "Load was performed." );
});

(取自jQuery网站),使用.html() .load()将在下面调用的内容。这也回答了3)。