我已经看到了对该问题的多个答复-因此,我敢肯定有人会很快将其标记为重复,但是我在任何其他线程中都没有看到该特定问题的答案。
我有两个测试文件:a.php和a.js
在a.php中,我定义
$q = $_GET['q'];
效果很好。
然后,我调用一个单独的a.js文件,其中有:
var partNumber = " <?php echo $q; ?>" ;
这是行不通的,因为partNumber实际上是<?php echo $q;?>
在我读过的有关该主题的几篇文章中,我都将以下两项视为最高评分,被接受的答案:
var partNumber = " <?php echo $q; ?>" ; //with quotes
和
var partNumber = <?php echo $q; ?> ; //without quotes
但是,这些都不适合我。不带引号的代码将导致我的代码无法执行(我想是因为javascript需要无错才能成功执行,并且这会导致错误),而带引号的代码只会输出我实际输入的内容。
两者之间有什么区别,我在这里做错了什么?
参考方案
如果来自a.php的html包含a.js:
a.php
<html><head>
<script type="application/json" id="myvars"><?=json_encode(["partNumber"=>$_GET["q"]]);?></script>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="/a.js"></script>
</head>
...
a.js
jQuery(function($){
var myvars = $.parseJSON($("#myvars").html()),
partNumber = myvars.partNumber;
alert(partNumber);
});
如果没有,您应该研究AJAX。
编辑:对于示例来说,可能有点太复杂...但是,如果您验证GET q参数,它与Content Security Policy兼容。
使用Javascript在URL上发布 - javascript我使用Javascript将此URL“ R + C%20Seetransport%20Hamburg”传递给查询字符串,但是我需要使用C#以这种格式“ R%2bC + Seetransport + Hamburg”来获取URL使用的代码: var listname = $(this).text(); var listname1 = listname.trim…
Javascript-从当前网址中删除查询字符串 - javascript单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…
并发AJAX请求不起作用。最新请求将覆盖先前的请求 - javascript我的网页上有一个表格,每行都有一个“ +”按钮,因此会出现一个迷你表格。迷你表包含来自超慢数据库的数据,因此我通过ajax请求将数据输入。我的问题根源于某种情况。假设您按下引起AJAX请求的加号按钮,而在等待时按下另一个加号按钮。第二个ajax请求导致第一个请求永不返回。换句话说,最新请求将覆盖所有先前的未决请求。知道为什么会这样吗?我觉得当您不使用jQue…
Mongo汇总 - javascript我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …
JavaScript中的字符串评估函数 - javascriptJavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…