将javascript var值集成到重定向中

时间:2018-03-08 23:14:58

标签: javascript

从PHP脚本我返回3个值:所有正在过渡而没有任何困难。

if(data.code == 600){
                            var PNRRef = data.locator;
                            var Lname = data.lname;

我想要做的是在我的重定向链接中使用这两个var值,但似乎无法弄清楚:

window.location.href = '/US/en/local/res/MyReservation.php?PNRRef="PNRRef"&Lname="Lname"';

但它没有正确输出......有人会有关于如何整合这些的提示吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

您需要连接:

window.location.href = '/US/en/local/res/MyReservation.php?PNRRef=' + PNRRef + '&Lname=' + Lname;

或使用模板文字(也称为字符串插值)

window.location.href = `/US/en/local/res/MyReservation.php?PNRRef=${PNRRef}&Lname=${Lname}`;

在发出任何请求之前,需要对这些变量进行编码(encodeURIComponent(...))。

答案 1 :(得分:0)

window.location.href = `/US/en/local/res/MyReservation.php?PNRRef=${PNRRef}&Lname=${Lname}`

答案 2 :(得分:0)

可能模板文字可以解决您的问题。而不是:

window.location.href = '/US/en/local/res/MyReservation.php?PNRRef="PNRRef"&Lname="Lname"';

使用此:

window.location.href = `/US/en/local/res/MyReservation.php?PNRRef=${PNRRef}&Lname=${Lname}`;

答案 3 :(得分:0)

我会寻求一个总是有效的简单解决方案(字符串连接)

window.location.href = '/US/en/local/res/MyReservation.php?PNRRef='+encodeURIComponent(PNRRef)+'&Lname='+encodeURIComponent(Lname);

如果您想使用符合RFC3986的更好的URI编码,请使用rfc3986EncodeURIComponent代替encodeURIComponent

function rfc3986EncodeURIComponent (str) {  
   return encodeURIComponent(str).replace(/[!'()*]/g, escape);  
}