向网址添加唯一ID

时间:2015-12-16 14:33:11

标签: ajax url unique-id

我在理解如何向网址添加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个变量的起源 qp1p2是参数,_是值

3 个答案:

答案 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脚本接受三个查询字符串:qp1p2,使用=符号提及其值。最重要的是,查询字符串 - 值对使用&符号分隔。

答案 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()]。我希望这会有所帮助:)