我在理解如何向网址添加ID以向服务器发送请求时遇到一些困难。实际上,我的主要问题是在第三种打开方法中等号后面的引号位置。为什么不在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();
例如,我了解以下网址中发生的情况。
http://localhost/test.php?q=_&p1=_&p2=_
?
让服务器知道?_GET
个变量的起源
q
,p1
和p2
是参数,_
是值
答案 0 :(得分:0)
Math.random()函数返回一个浮点值。你实际上是在构建一个字符串。所以你需要像这样转换它:
xhttp.open("GET", "demo_get.asp?t=" + Math.random().toString(), true);
答案 1 :(得分:0)
XMLHttpRequest
对象xhttp
向服务器端脚本GET
发送异步demo_get.asp
请求,并带有查询字符串t
;其值是一个随机数(在0到1的范围内)。
如果是多个查询字符串,则使用&
分隔查询字符串。例如,您在问题中提到的test.php
脚本接受三个查询字符串:q
,p1
和p2
,使用=
符号提及其值。最重要的是,查询字符串 - 值对使用&
符号分隔。
答案 2 :(得分:0)
这是因为它将传递像[url?t =(一个随机值)]这样的值作为字符串值。这里传递的值是“ demo_get.asp?t = RANDOM_NUMBER”。现在来问您的问题---------如果引号像[[demo_get.asp?t = Math.random()“]之类的逗号之前,您会看到Math.random()是不再有功能。它将变成一个字符串。
现在您可以那样做,因为新的javascript提供了一种执行该操作的机制:
只需键入demo_get.asp?t = $ {Math.random()}(在back-tick(``之内,因为这里的反向标记在注释中不起作用)),而不是[“ demo_get.asp?t =” + Math.random()]。我希望这会有所帮助:)