我一直在尝试将php变量传递给jQuery,但收效甚微。 这是我用来传递数据的代码部分:
$('#submitAuto').click(function(){
var isDelete = $("#autoDelete").val();
var userID = "<?php echo $userData ; ?>" ;
但我发现userID值是字符串<?php echo $userData ; ?>
,而不是$ userData值。
我该如何处理这个问题?
任何建议都会受到欢迎, 提前致谢
答案 0 :(得分:3)
将JavaScript移至<script>
标记内并放入PHP文件中。
除非文件扩展名为.php,否则您的服务器不会运行PHP。
这样使用json_encode()
也许是个好主意:
var userID = <?php echo json_encode($userData); ?>;
这可以阻止字符串中有趣字符的任何问题。
答案 1 :(得分:0)
从第
行删除“”var userID =&lt;?php echo $ userData; ?&GT;
你不应该在js中获取php代码,你应该将userData的值放在页面上的html元素中,然后你可以通过使用document.getElementByID等来读取它。
您可以使用隐藏字段获取userdata的值,然后您可以在javascript的帮助下读取userdata变量。
答案 2 :(得分:0)
任何包含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>