没有任何PHP代码的Javascript文件

时间:2015-10-19 14:06:38

标签: javascript php jquery

我想请一些帮助。为了将php功能与javascript分开,我通常会这样做:

第一。在script标记内创建<head>,我保留所有来自php的变量,例如:

<head>
<script>
   var url = "<?php echo site_url() ?>admin/products";
   // etc etc
</script>
</head>

第二。然后在我的file.js中,我可以访问变量,并使用javascript和jquery做我想做的任何事情。

<script src="path/to/some/file.js"></script>

// then in my script in file.js I can do whatever I want
url : url,
etc etc

这样可以正常工作,但在某些情况下,我可以动态设置一些插件设置,例如:

$('.dataTable').DataTable({
      'bProcessing' : true,
      'bServerSide' : true,
      'sAjaxSource' : url, // this is '<?php echo site_url() ?>admin/products', as above
      'sServerMethod' : 'POST',
      'pagingType': 'full_numbers',

      'columns': [
           <?php foreach($my_array as $item): ?> // *
            { 'data': '<?php echo $item; ?>' },
           <?php endforeach; ?>
       ],

所以*部分在纯javascript中应该是这样的

'columns': [
     { 'data': 'Title' },
     { 'data': 'Description' },
     etc etc
],

在这些情况下我怎么能做同样的事情,所以我的js脚本里面不会有任何php ???

1 个答案:

答案 0 :(得分:1)

为什么不以同样的方式继续? 这对你有用吗?

<script>
   var url = "<?php echo site_url() ?>admin/products";
   var myArray = <?php echo json_encode($my_array)?>;
</script>

JS

(...)
'pagingType': 'full_numbers',
'columns': myArray
(...)