JavaScript in PHP 语法
JavaScript in PHP Syntax
我认为这是一个简单的问题,我还不太了解我的语法,但我试图在 PHP 中获取一个 js 变量,它实际上恰好在另一个 js 中。在其他一般不工作错误中,我不断收到未终止的字符串文字错误。
代码如下,去掉不需要的
<script>
jQuery(document).ready(function() {
var caNumber = document.getElementById("doc_id").value;
var uploader = new plupload.Uploader({
url: '<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number=caNumber') ?>'
});};
</script>
问题是如何在 url: 中获取 CaNumber,我在其中显示了 CaNumber。
感谢您抽出时间提供帮助。
您不能以这种方式将 JavaScript 变量放入 PHP 代码中。请记住,PHP 是一种 服务器端 语言,而 JavaScript 是一种 客户端 语言。意思是,它们在两台不同的机器上执行。 - 在评估 JavaScript 代码时,PHP 代码早就完成了它的工作。
如果您想获取从 JavaScript 到 PHP 的值,您需要使用新请求(通常是 AJAX)或使用类似 more现代 WebSockets 功能。
但是鉴于 PHP 代码只是生成一个 URL,您可以尝试在 URL 中添加一个占位符 returns,然后将其替换为您在 JS 代码中的 JavaScript 值。
示例:
<script>
var cat = document.getElementById("catElem").value;
var url = "<?php echo "/file.php?cat={{CAT}}"; ?>";
url = url.replace("{{CAT}}", cat);
console.log(url);
</script>
将 caNumber
排除在 你的 PHP 声明之外,它是未知的,没有意义。用 JS 将其附加到 PHP:
输出的字符串
jQuery(document).ready(function() {
var caNumber = document.getElementById("doc_id").value;
var upUrl = "<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number=') ?>" +
caNumber;
var uploader = new plupload.Uploader({
url: upUrl
});
};
您正在合并 php 和 javascript。将它们分开。
url: "<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number= ')?>"+caNumber;
同样重要的是,不要盲目地将 PHP 变量转储到 JavaScript 字符串中。 PHP 变量的来源有多可信并不重要。在这种情况下,您在其中使用了 $_GET
变量,这意味着您为攻击敞开了大门——恶意用户可以通过 URL.
相反,使用...
url: <?php echo json_encode(admin_url(......)); ?> + caNumber;
这将为您处理各种转义和用引号引起来的字符串,从而关闭安全漏洞。
我认为这是一个简单的问题,我还不太了解我的语法,但我试图在 PHP 中获取一个 js 变量,它实际上恰好在另一个 js 中。在其他一般不工作错误中,我不断收到未终止的字符串文字错误。
代码如下,去掉不需要的
<script>
jQuery(document).ready(function() {
var caNumber = document.getElementById("doc_id").value;
var uploader = new plupload.Uploader({
url: '<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number=caNumber') ?>'
});};
</script>
问题是如何在 url: 中获取 CaNumber,我在其中显示了 CaNumber。
感谢您抽出时间提供帮助。
您不能以这种方式将 JavaScript 变量放入 PHP 代码中。请记住,PHP 是一种 服务器端 语言,而 JavaScript 是一种 客户端 语言。意思是,它们在两台不同的机器上执行。 - 在评估 JavaScript 代码时,PHP 代码早就完成了它的工作。
如果您想获取从 JavaScript 到 PHP 的值,您需要使用新请求(通常是 AJAX)或使用类似 more现代 WebSockets 功能。
但是鉴于 PHP 代码只是生成一个 URL,您可以尝试在 URL 中添加一个占位符 returns,然后将其替换为您在 JS 代码中的 JavaScript 值。
示例:
<script>
var cat = document.getElementById("catElem").value;
var url = "<?php echo "/file.php?cat={{CAT}}"; ?>";
url = url.replace("{{CAT}}", cat);
console.log(url);
</script>
将 caNumber
排除在 你的 PHP 声明之外,它是未知的,没有意义。用 JS 将其附加到 PHP:
jQuery(document).ready(function() {
var caNumber = document.getElementById("doc_id").value;
var upUrl = "<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number=') ?>" +
caNumber;
var uploader = new plupload.Uploader({
url: upUrl
});
};
您正在合并 php 和 javascript。将它们分开。
url: "<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'&number= ')?>"+caNumber;
同样重要的是,不要盲目地将 PHP 变量转储到 JavaScript 字符串中。 PHP 变量的来源有多可信并不重要。在这种情况下,您在其中使用了 $_GET
变量,这意味着您为攻击敞开了大门——恶意用户可以通过 URL.
相反,使用...
url: <?php echo json_encode(admin_url(......)); ?> + caNumber;
这将为您处理各种转义和用引号引起来的字符串,从而关闭安全漏洞。