基于URI的Ajax加载Div(而不是onClick)

基于URI的Ajax加载Div(而不是onClick),ajax,jquery,Ajax,Jquery,我正在转换一个旧的web应用程序。在旧版本中,有一个页面,当用户导航到该页面时,该页面将显示一些默认内容。该页面中有一个重新加载页面的链接,但带有一个querystringshowform=yes,它会导致显示一个表单而不是内容 在旧版本中,页面如下所示: http://site.com/directory.asp-用于包含内容的主页面 http://site.com/directory.asp?showform=yes-当用户 单击按钮以显示表单 在新版本的web应用程序中,同样的页面是用

我正在转换一个旧的web应用程序。在旧版本中,有一个页面,当用户导航到该页面时,该页面将显示一些默认内容。该页面中有一个重新加载页面的链接,但带有一个querystring
showform=yes
,它会导致显示一个表单而不是内容

在旧版本中,页面如下所示:

  • http://site.com/directory.asp
    -用于包含内容的主页面
  • http://site.com/directory.asp?showform=yes
    -当用户 单击按钮以显示表单
在新版本的web应用程序中,同样的页面是用ajax设置的,因为有一个div,当有人访问
http://site.com/directory
。有一个按钮,当(从该页面中)单击该按钮时,会调用一些ajax来交换内容并显示表单。URI/querystring中没有更改

这里是我的问题-在传统版本的web应用程序中,还有一些其他页面将用户直接链接到带有表单的页面(
http://site.com/directory.asp?showform=yes
)例如,他们不需要在到达directory.asp后单击按钮

根据我现在如何设置该页面,是否有一个我可以模仿的行为(例如,在div中通过ajax显示表单?)

起初,我认为也许可以根据URI中存在的查询字符串或锚来触发ajax,例如
/directory\35; form
,但我不确定这是否可行

我更喜欢一个不依赖jQuery的解决方案,但是如果没有其他选项,它会考虑它。

提前感谢您的关注,如果我能进一步澄清,请让我知道

谢谢,
Gary

是的,您可以根据一个布尔变量触发AJAX调用,该布尔变量可以通过查询字符串进行设置。 布尔变量的默认值为false,这将强制用户单击按钮以刷新表单部分


但是,当返回到同一页面时,查询字符串将布尔变量设置为true,从而从JSP/ASP或HTML调用包含AJAX代码的javascript函数。

这种类型的东西实际上是如何实现的?我的设想是这样的:假设我们现在有一个查询字符串,并在此基础上创建一个javascript块,在加载页面时触发ajax调用?这就是你建议的类型吗?所以我尝试实现了这一点,但没有成功,我认为因为window.onLoad试图过早地找到函数(在.js include中定义),它抛出了一个
未捕获的引用错误:xmlhttpPost未定义(匿名函数)
错误,即使从JSP/HTMl文件底部的按钮的onclick attribute.call window.onLoad调用该函数时可以正常工作,以便在加载之前加载所有必需的JS文件,还可以向脚本元素添加defer属性。否则,使用prototype或jQuery等JS库调用浏览器的onload特性,这将是一个更好的跨平台解决方案。