【问题标题】:Syntax to include/reference a .PHP file within a .JS file在 .JS 文件中包含/引用 .PHP 文件的语法
【发布时间】:2013-09-12 06:22:03
【问题描述】:

我正在将一些表单验证从 PHP 文件移动到 JS 文件。验证的一部分是验证码验证,其中包括对外部 PHP 文件的引用。是否可以在 JS 文件中引用外部 PHP 文件(使用上述语法的修改版本)?我尝试了几种方法,但似乎都不够用。如果可能的话,有人能指出我在一般语法上的正确方向吗?理想情况下,如果不是太多繁琐的工作,我希望在同一个文件中进行所有验证。

【问题讨论】:

  • 你可以把这个文件包含在你已经包含JS文件的PHP文件中
  • loadurl('file_name.php');
  • 如果您将验证移至 JS,它将在客户端执行,因此不再是真正的客户端验证。你现在问客户,“你合法吗?”。如果它回答 Yes! 会证明什么?
  • 让我给出文件的名称,以便更好地理解您。该代码片段当前位于 Submit.php 但我想将其移至 Validate.js

标签: javascript php include


【解决方案1】:

如果有扩展名“.js”,我们不能在“.js”文件上使用php语法。

但是,如果您在“.php”文件上使用 javascript,那么您知道我们可以在 javascript 上使用 php 语法。

【讨论】:

  • 如果我理解正确,您是说无法从“Validate.js”中引用/包含“Captcha.php”?
  • 在进一步阅读后,似乎通常建议在 .js 文件中进行验证,作为对访问者的礼貌(显然可能)以及在 .php 文件中以防 javascript 被禁用等等安全验证。因此,与其将验证从 .php 文件移动到 .js 文件,理想情况下我应该在两个地方都有它(验证码验证除外,它只能在 .php 文件中完成,因为它可能意味着设计)。
【解决方案2】:

以 .php 结尾保存您的 .js 文件,然后您可以在其中包含正常的 PHP 代码,由服务器解析。如果您使用的是 Apache,您还可以将以下内容添加到 .htaccess 以将每个 .js 文件视为 PHP 文件并保留 .js 文件扩展名:

AddType application/x-httpd-php .js

无论如何,不​​要忘记将这个添加到 JS-File 的顶部,以便客户端将其识别为 JS-File(但它仍然是服务器的 PHP 文件):

<?php
    header(Content-Type: text/javascript);
?>

文件示例:

<?php
    header(Content-Type: text/javascript);
?>

function abc () {
    // some JS-Code
}

<?php
    include 'validate.php'; /* including PHP file, but it has to output valid JS-Code! */
?>

// Back to JS
function def () {
    // more JS-Code
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    相关资源
    最近更新 更多