AJAH图书馆的建议

时间:2009-02-14 11:01:00

标签: javascript ajax

我有一个经典的ASP应用程序

我想添加一些AJAX风格的部分页面更新,以避免服务器往返。例如,显示的行列表,在原地添加另一个的选项,保存它,以及重新显示/添加另一个表。

我认为我不需要众所周知的AJAX库的所有其他包袱

我很欣赏AJAH图书馆的建议,以及关于你是否认为我只是采用AJAH而不是完全成熟的AJAX的观点。

(我的应用程序有一个模板渲染功能,所以我已经可以将数据库数据转换为“丰富的HTML”,所以我认为我最简单的方法就是重用它并使用AJAH发送替换HTML注入页面使用innerHTML替换)

由于

2 个答案:

答案 0 :(得分:3)

AJAH?据我所知,没有AJAH这样的东西。 H代表HTML而不是XML吗?如果是这样,那么让我对你认为AJAX需要XML的想法不以为然。这可能是它的开始,但事实并非如此(至少现在)。在moern白话中,Ajax意味着将Javascript调用回到服务器而不刷新页面。数据可以发送到服务器,返回的数据可以是JSON,XML,HTML或任何你真正喜欢的。 JSON和HTML可能是最常见的(下一步使用XML)。

至于使用什么API。听起来你想要修改一个现有的应用程序和(imho)没有比jQuery更好的库。它具有您想要的轻量级几乎所有插件的插件,并帮助您解决跨浏览器问题。您可以轻松地执行以下操作:

<input id="refresh" type="button" value="Refresh">
...
$("#refresh").click(function() {
  $.ajax({
    url: '/getusers',
    type: "GET",
    timeout: 5000,
    dataType: "html",
    failure: function() {
      alert("An error occurred.");
    },
    success: function(data) {
      $("#userlist").html(data);
    }
  });
});

答案 1 :(得分:1)

我讨厌成为纯粹主义者;但我认为一旦你开始使用AJAX,让JS代码完成大部分格式化要好得多。对于你的例子(表),我使用jQuery的模板插件。这些允许您在页面中包含一个静态HTML模板,并用AJAX查询返回的数据填充它。

OTOH,如果您真的想在服务器中进行格式化,只需使用jQuery中的.load()方法获取HTML并插入任何DOM对象。