此JavaScript代码位于PHP文件中,我需要将此JS代码放入.js
文件中。
<script>
$j(".fresh").click(function(){
$j(this).html('<span><?php echo $this->lang_arr['my_new_func']; ?></span>');
$j.post( "<?= site_url('website/func_resh') ?>",
{ id : "<?= $webfun_one_arr[id] ?>",
website_id : "<?= $web_one_arr[id] ?>"
}
);
})
</script>
我知道JavaScript格式中的代码<?php echo $this->lang_arr['my_new_func']; ?>
为{$this->lang_arr['my_new_func'];}
但我不知道如何将<?= site_url('website/func_resh') ?>
和<?= $webfun_one_arr[id] ?>
更改为JS格式。
感谢您的回答。
答案 0 :(得分:2)
别。使其成为.js.php
文件,返回内容类型text/javascript
,并包含其他相关的PHP脚本。
答案 1 :(得分:2)
插入PHP和JavaScript是一大堆蠕虫,你应该避免打开。 IMO处理此问题的最佳方法是使用PHP输出JSON对象which it has built-in support for,然后在JavaScript中使用该对象。这样,您只需将一小段PHP放在<script>
标记中,您就不必尝试将服务器解析为.js
文件作为PHP。像这样:
在你的PHP中:
<?php $my_vals = array(
'myNewFunc' => $this->lang_arr['my_new_func'],
'postUrl' => site_url('website/func_resh'),
'postId' => $webfun_one_arr['id'],
'postWebsiteId' => $web_one_arr['id']
);
?>
<script>
$j.getScript('/path/to/your_script.js', function() {
myFunc(<%= json_encode($my_vals); %>); // turns your PHP array into a
}); // JavaScript object automatically
</script>
然后,在your_script.js
:
// Look, Ma, no PHP!
function myFunc(someJson) {
$j(".fresh").click(function(){
$j(this).html('<span>' + someJson.myNewFunc + '</span>');
$j.post( someJson.postUrl,
{ id : someJson.postId,
website_id : someJson.postWebsiteId
}
);
});
}