【问题标题】:Pass php variable to jQuery [duplicate]将php变量传递给jQuery [重复]
【发布时间】:2012-08-14 08:54:06
【问题描述】:

可能重复:
Parse a JavaScript file through PHP

我一直在尝试将一个 php 变量传递给 jQuery ,但没有多大成功。 这是我用来传递数据的代码部分:

 $('#submitAuto').click(function(){
          var isDelete = $("#autoDelete").val();
          var userID = "<?php echo $userData ; ?>" ;

但我发现 userID 值是字符串 &lt;?php echo $userData ; ?&gt;,而不是 $userData 值。

我该如何处理这个问题?

欢迎任何建议, 在此先感谢

【问题讨论】:

  • 您的代码似乎正确。您确定这是在 phpphtml 文件中吗?您是否测试过同一文件中的其他 PHP 部分是否有效?
  • 您可能将代码放在js 文件中?
  • 我把代码放在了一个js文件里……
  • 那么 js 文件不会被 php 解析,除非您专门设置您的网络服务器来这样做。
  • 所以我应该将文件结尾更改为 .php 然后将 js 脚本放入 吗?

标签: php javascript jquery


【解决方案1】:

将 JavaScript 移动到 &lt;script&gt; 标记内并放置在 PHP 文件中。

除非有 .php 文件扩展名,否则您的服务器不会运行 PHP。

像这样使用json_encode() 也是一个好主意:

var userID = <?php echo json_encode($userData); ?>;

这会阻止字符串中有趣字符的任何问题。

【讨论】:

【解决方案2】:

从行中删除“”

var userID =

你不应该在js中拾取php代码,你应该把userData的值放在页面的html元素中,然后你可以通过document.getElementByID等读取它。

您可以让一个隐藏字段获取 userdata 的值,然后您可以在 javascript 的帮助下读取 userdata 变量。

【讨论】:

  • 我把代码放在了一个js文件里,去掉""导致出错
  • 如果你使用的是js文件,你不能这样做,js文件不能引用你的php变量。
  • 去掉引号不是个好主意。只有当他通过truefalsenull 或数字时,它才会起作用。如果他传递一个字符串,它将崩溃。此外,您还缺少分号添加行尾。
【解决方案3】:

任何包含 PHP 代码的文件在从服务器发送到客户端之前都必须由 PHP 解析以将代码转换为其他内容,因为 PHP 仅在服务器上运行。

通常这意味着文件必须以 .php 结尾,并且仅将 PHP 代码粘贴到 .js 文件中是行不通的,除非您将服务器配置为通过 PHP 运行 .js 文件。

大部分时间只需将.js 文件重命名为.php 即可,或者您可以将javascript 包含在带有脚本标签的.php 文件中,或者更改您的服务器配置以解析.js 文件。在 Apache 中,您可以添加到 .htaccess :

AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 2014-07-05
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 2013-02-19
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多