-1

我在理解如何将 id 添加到 url 以向服务器发送请求时遇到了一些困难。事实上,我的主要问题是第三个打开方法中等号后引号的位置。为什么在 Math.random() 或 .asp 之后不使用它。因为,如果我将引号放在 math.random() 之后,它会起作用,但在 math.random() 之前不起作用。我想了解引号在这里发生了什么变化...

xhttp.open(method, url, async);
xhttp.send();

xhttp.open("GET", "demo_get.asp", true);
xhttp.send();

**xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);**
xhttp.send();

例如,我了解以下 url 中发生了什么。

http://localhost/test.php?q=_&p1=_&p2=_

?让服务器知道?_GET变量 start qp1p2是参数和_

4

3 回答 3

0

XMLHttpRequest对象使用查询字符串向服务器端脚本xhttp发送异步GET请求;其值是一个随机数(在 0 到 1 的范围内)。demo_get.aspt

如果有多个查询字符串,则查询字符串使用 . 分隔&。例如,test.php您在问题中提到的脚本接受三个查询字符串:和q,其值使用符号提及。最重要的是,查询字符串-值对使用符号分隔。p1p2=&

于 2015-12-16T15:02:20.827 回答
0

那是因为它将像这样的值 [ url?t=(a random value) ] 作为字符串值传递。这里传递的值是“demo_get.asp?t=RANDOM_NUMBER”。现在来回答您的问题--------- 如果引号就在逗号之前,例如 [ "demo_get.asp?t= Math.random()" ] 您可以看到 Math.random() 是没有更多的功能。它会变成一个字符串。

现在您可以这样做,因为新的 javascript 提供了一种机制来做到这一点:

只需键入 demo_get.asp?t= ${Math.random()} (在 back-tick(``) 内,因为这里的 back-tick 在注释中不起作用)而不是 [ "demo_get.asp?t=" + Math.random ()]。我希望这有帮助 :)

于 2019-05-16T13:51:11.277 回答
0

Math.random() 函数返回一个浮点值。你实际上是在建立一个字符串。所以你需要像这样转换它:

xhttp.open("GET", "demo_get.asp?t=" + Math.random().toString(), true);
于 2015-12-16T14:51:49.690 回答