是否可以使用jQuery加载仅更新页面中的一个元素,而无需在服务器端创建单独的GET方法?

时间:2010-04-06 06:53:47

标签: jquery ajax

我必须使用Ajax更新页面上的一个元素,是否必须对服务器端进行更改,或者是否可以使用jquery加载整个页面然后仅更新例如一个元素?

2 个答案:

答案 0 :(得分:1)

你没有,而且有可能,但我认为你不应该这样做。 AJAX的一个优点是你从服务器上拉出一个片段,从而减少了有效载荷。如果您再次拉动整个页面,它将执行所有数据库查询,其中许多查询与您的元素无关。

您还将再次请求所有CSS / JS,所有文本等

我会为单个片段创建一个单独的页面,并通过AJAX请求并仅使用返回的结果更新元素。

但是你可以这样做,jQuery通过它的加载方法提供了这个:

http://api.jquery.com/load/

  

加载页面碎片

     

与$ .get()不同,.load()方法允许我们指定要插入的远程文档的一部分。这是通过url参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是jQuery选择器,用于确定要加载的内容。

答案 1 :(得分:0)

Load将从服务器获取数据并将HTML放入元素中。因此,这样写只会更新元素div1

$("#div1").load('http://yourserver/page.html');

参见 load