我是Ajax和Web开发的新手。当我用Google搜索Ajax时,许多网站(如here)表示其中一个关键功能或Ajax是您可以动态更新网页上的内容而无需重新加载。
我的问题是:你不能只使用document.getElementById("...").innerHTML = "whatever you want it to change to"
来做到这一点吗?我知道使用Ajax,您可以向Web服务器发出请求等等。那不是我的问题。我的问题是,为什么人们声称在没有重新加载的情况下更改网页是一种特殊的关于Ajax的问题,当你可以用普通的JavaScript做到这一点时?
而且,在上面的链接中,它表示使用Ajax,您可以“在页面加载后从服务器请求/接收数据”。为什么“页面加载后”?还有另一种方法可以在页面加载时从服务器请求/接收数据吗?
谢谢!
答案 0 :(得分:2)
我的问题是:你不能通过使用来做到这一点 document.getElementById(“...”)。innerHTML =“无论你想要什么 改为“?
您确实可以使用此属性更改dom Element实例的内部标记。
我知道使用Ajax,您可以向Web服务器发出请求 诸如此类的东西。那不是我的问题。我的问题是人为什么 声称更改网页而不重新加载它是一件事 当你能用普通的JavaScript做到这一点时,我对Ajax有何看法?
Javascript是客户端。 Ajax的特殊之处在于它从服务器请求数据,因此您可以在客户端(javascript)中使用它。
Javascript本身(理解,没有XmlHttpRequest
对象)不允许这样做。您所能做的就是客户端dom操作,不知道服务器端有什么(这意味着,除其他外,不能访问共享数据库)
而且,在上面的链接中,它表示可以使用Ajax “在页面加载后请求/接收来自服务器的数据”。为什么 “页面加载后”?还有其他方式要求/接受 页面仍在加载时来自服务器的数据?
是
jsp,php是服务器端语言的两个例子。当您请求http://page.php(例如)时,服务器将请求路由到* .php解释器。然后,页面内的代码用于生成http标头和html内容回客户端。这是每次访问页面时都会发生的往返行程。首先使用此系统加载页面。
,Ajax允许您继续调用任何php脚本,而页面已经加载。答案 1 :(得分:1)
ajax 是一种从服务器加载数据而无需重新加载整个页面的方法, innerHTML 是将该数据注入页面的一种方式...所以 ajax 是与服务器通信的一种方式,而 innerHTML 是一种清理页面的方式。
答案 2 :(得分:0)
你好,这是ajax和document.getElementById()之间的关键因素.innerHTML是
<强> AJAX 强>
当您想要更改perticuler div并更改内容未存储在当前网页的任何位置时,AJAX将加载内容
<强>的document.getElementById()。innerHTML的强>
如果你想在没有ajax的情况下更改内容,那么你需要将内容存储在任何javascript变量或hiddent html中,以便在你想要显示时加载内容。