Javascript 无法在js文件中添加php
我有一个下面的脚本,我需要将它添加到一个.js文件中Javascript 无法在js文件中添加php,javascript,php,magento-1.7,Javascript,Php,Magento 1.7,我有一个下面的脚本,我需要将它添加到一个.js文件中 jQuery( ".followlink" ).click(function(event){ event.preventDefault(); var $k = jQuery.noConflict(); $k.dialog({ title: ' ', backgroundDismiss: true, content : "<?php echo $this->getLayout()->c
jQuery( ".followlink" ).click(function(event){
event.preventDefault();
var $k = jQuery.noConflict();
$k.dialog({
title: ' ',
backgroundDismiss: true,
content : "<?php echo $this->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/list/followup-popup.phtml')->tohtml();?>"
});
$k('.jconfirm-scrollpane .container').addClass('follow-container');
});
jQuery(“.followlink”)。单击(函数(事件){
event.preventDefault();
var$k=jQuery.noConflict();
$k.dialog({
标题:“”,
背景:对,,
内容:“”
});
$k('.jconfirm scrollpane.container').addClass('follow-container');
});
我在这一行上标记了错误
通常,PHP引擎不会解释javascript文件。您需要修改服务器的规则以使用PHP处理该文件,或者将扩展名更改为.PHP
。在输出任何内容之前,您还需要更改生成的内容类型:
<?php
header('Content-Type: application/javascript');
?>
您需要将JS作为PHP提供,或将PHP外部化:
在PHP文件中执行此操作:
<script>var content = "<?php echo json_encode($this->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/list/followup-popup.phtml')->tohtml());?>"</script>
<script src="yourjsfile.js"></script>
var content=“”
在js文件中有content:content
你可以用一种方法,
给出元素属性,如数据内容
,然后在内容标签中只放$(this).data(“内容”);因此,代码应该如下所示:
jQuery( ".followlink" ).click(function(event){
event.preventDefault();
var $k = jQuery.noConflict();
$k.dialog({
title: ' ',
backgroundDismiss: true,
content: jQuery( ".followlink" ).data("content"),
});
$k('.jconfirm-scrollpane .container').addClass('follow-container');
});
出现了什么错误?无法在.js文件中添加php代码。首先,它应该是.php
文件。你不能从.js
文件中运行php。另外,你在内容
行的末尾有引号,但不是在开头。正如@JamesWong所说,整个文件必须是.php
才能运行。php行如何:php echo json_encode($this->getLayout()->…你不必用json编码,只需简单地将内容放在元素数据内容上,jquery将从属性获取内容。因此元素看起来像:data content=“””>将get content放在双引号内,自然会让我看到引号内的全部内容……这/的任何替代方法。