javascript - Javascript如何使用window.open将变量传递给URL查询
问题描述
首先 - 这个问题 在 URL 中包含变量 或如何在 JavaScript 中进行字符串插值时没有答案? 在我在这里提出问题之前,我测试了其他地方的许多变体。例如,如在 URL 中包含变量所建议的那样
window.open('http://example.com/?q="+ myname"');
不适用于下面的脚本。需要一种特定的包装。
所以,最简单的脚本
<script type="text/javascript">
function sendquery() {
var myname = "John";
alert(myname);
window.open('http://example.com/?q=(myname)');
}
</script>
<button onclick="sendquery()">Query</button>
警报完美地显示了变量 John。但是查询发送的不是变量 John,而是(myname)。
或 + myname - 如果遵循其他答案。
如何将变量包装到 URL 查询?
解决方案
看起来您只是将变量错误地放入字符串中。如果您不需要支持 IE,请查看模板文字。
var myname = "John";
// won't work
window.open('http://example.com/?q="+ myname"');
// will produce 'http://example.com/?q=John'
window.open(`http://example.com/?q=${myname}`);
同样
// won't work
window.open('http://example.com/?q=(myname)');
// valid
window.open(`http://example.com/?q=${myname}`);
如果您确实需要支持 IE,那么window.open('http://example.com/?q=' + myname);
应该可以
推荐阅读
- c - 输入的数字字符
- python - 无法安装 nlopt python 模块
- reactjs - 如何使用前一个操作的返回结果链接 redux 操作?
- python - Python:用整数键解包字典?
- php - 使用 ISPCONFIG 3 时如何删除 .php 扩展名?
- android - 如何在 Cloud Firestore 中保存时间戳值并对其执行查询?
- function - Clojure 究竟如何处理函数定义?
- api - 如何以编程方式检查我在 USCIS 的申请状态?
- c# - OracleCommandBuilder.DeriveParameters() 抛出 OracleException: ORA-06564: 对象不存在
- javascript - ngClass 在 Angular 中与 ngFor 一起使用来切换图标