Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在js文件中添加php_Javascript_Php_Magento 1.7 - Fatal编程技术网

Javascript 无法在js文件中添加php

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

我有一个下面的脚本,我需要将它添加到一个.js文件中

 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放在双引号内,自然会让我看到引号内的全部内容……这/的任何替代方法。