1

我需要帮助理解 AJAX。我正在阅读有关 W3C 学校的教程(创建一个在服务器上打开文本文件并在 div 中显示结果的按钮)

教程的一部分对我来说似乎很抽象,没有足够的解释。我确信这是我错过或不知道的先决条件,详情如下

为了避免响应向服务器发出的 XMLHttpRequest 获得缓存结果,本教程说需要在 XMLHttp Open Method 中的 URL 参数中添加一个唯一 ID,这已通过添加一个?,另一个字符 (t) 和文件扩展名后的 =,然后将随机数加入 URL(使用 Math.random())。请参阅下面的代码。

一个简单的 GET 请求如下:

xmlhttp.open("GET","demo_get.asp,true); \\I can understand this

添加到 URL 的唯一 ID

xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);  \\ I can't undersatnd this 

“?” , 't' & 一个随机数生成器添加到 demo_get.asp - 为什么是 T,为什么不是 PQRZ ?为什么 ”?” .asp 之后

如果将任意字符添加到文件位置,编译器是否不应该发疯并报告错误。在这种情况下如何处理文件扩展后的 URL 部分 ?t= + Math.random()

在过去的 3 天里,这是一个非常痛苦和沮丧的案例,因为我不知道我在这里错过了 JS 的哪一部分,你把这个概念叫做什么,我在哪里可以阅读它?

除此之外,在发送数据时指定消息标头 - 什么是 HTTP 标头以及它们的含义。我如何决定 setRequestHeader() 方法的参数应该是什么?

请帮忙。Ajax 的其余部分对我来说很清楚。

(我还没有阅读第二部分 - 消息标题。我已经在这里询问了该查询以避免稍后发布另一个问题,以防万一它变得像 UNIQUE ID 概念一样难以捉摸和神秘 - 道歉以防万一一个直接简单的问题,我应该自己阅读)

4

1 回答 1

2

缓存将请求的 URL 与存在的 URL 进行比较,如果将唯一 id 添加到 URL,则它不匹配并且浏览器将其视为的GET 请求,然后将其转发到服务器。这是绕过/禁用浏览器缓存的标准方法。

请参阅本文档以更好地了解浏览器缓存。见第 4 页,它解释了与上述相同的事情。

http://www.f5.com/pdf/white-papers/browser-behavior-wp.pdf

于 2012-10-10T14:49:33.870 回答