关于JavaScript或AJAX的简短问题

时间:2010-06-09 10:14:18

标签: javascript ajax

我一直在寻找解决这个问题的方法很长一段时间,但我认为是时候解决它了。 如果我有一个带有下拉菜单的页面,那么无论如何我可以选择一个值,该值随后会进一步加载其他值。

这可以在没有页面重新加载的情况下完成吗?

我会举个例子。 假设我正在为管理面板制作一些工具,但首先他们需要选择要使用的成员。 他们将选择成员然后在下面,将根据在第一个菜单中选择的内容填充有关该成员的字段。

正如我已经问到的,这可以在没有页面重新加载的情况下完成吗?

感谢阅读。

3 个答案:

答案 0 :(得分:3)

是的,没有AJAX就可以完成。呈现页面时,将下拉列表中将作为JSON对象使用的所有集合传递给HTML:

var collection = [{ id: 1, name: 'John' }, { id: 2, name: 'Smith' }];
...

然后注册第一个下拉列表的更改事件并根据所选值go并从其他集合中获取数据。当然,如果您有大量数据,这可能不实用,因为您的页面会变得非常大,在这种情况下,AJAX会更合适。

答案 1 :(得分:1)

回答是的,可以做到。

首先,您需要一个事件,在这种情况下,您需要对selectBox的 onChange 事件采取措施。因此,当项目发生变化时,您将运行一个函数。

现在您有2个选择。你可以使用AJAX或NOT来做到这一点,它实际上取决于你的应用程序的复杂性/安全性。

以下我参考

  1. 用户:使用该应用程序的用户
  2. 隐藏客户端数据:在页面加载期间发送到客户端的数据,但对所有用户都不可见,但是使用查看源或下载JS文件时,数据不受保护。
  3. 方法1 - 没有AJAX

    基础知识:您在首次加载页面时首先向下发送所有可能的显示选项,但在selectbox onchange事件期间仅显示与用户相关的部分。

    建议用时:如果检测到隐藏的客户端数据(或者无法检测到,或者您只是信任您的受众以预期方式使用该应用),则无需提供安全保护。最后,当您的总视图排列很低时。

    方法2 - AJAX

    基础知识:您最初只向下发送页面框架,当用户更改选择框的值时,您会向服务器发出AJAX请求 - 获取与该用户相关的新视图信息,然后将其发回到一个将该用户数据注入DOM的脚本。

    在以下情况下推荐:您有一个公共站点,或者考虑安全性的站点。您有大量视图排列或希望每个用户比场景1更多的自定义。

    如您所见,两种方法都不需要重新发布 - 方法1预先发布所有内容,方法2使用AJAX在需要时填充数据。这两种方法都有效,具体取决于您的要求。

答案 2 :(得分:0)

即可。 Ajax主要用于那个(没有页面重新加载)

您必须使用以下步骤来实现

  1. 创建一个链接并在其onchange函数
  2. 上调用JavaScript函数
  3. 在JavaScript函数中,您必须调用Ajax请求。
  4. 更新ajax响应中的div。