您好我有一个使用jquery $ .get()从.csv文件创建的图表。但目前我将硬编码文件名作为第一个参数传递给我的get()方法。我的函数位于一个名为index.js的文件中,就像这样
$(document).ready(function() {
$.get('myproject.csv', function(data) { ..... }
....... });
但我想要的是传递一个包含文件名的变量,以便它可以有任何文件名而不是'myproject.csv'
$.get($filename, function(data) {
其中$ filename可以是传递的任何文件名。我对jquery并不太了解,所有这些都不太确定。
现在最重要的是我有一个.phtml文件,我将这个javascript文件合并为内联脚本。所以我不知道如何将这个.phtml文件中的变量传递给这个javascript文件。 我的.phtml文件:
<head>.......</head>
<body>
<script type="text/javascript" src="/PFFd02/public/media/js/modules/appone/index/index.js"></script> // this is where i need to pass my variable.
...........
</body>
任何帮助???
答案 0 :(得分:2)
这应该有效:
var filename=<?=json_encode($filename)?>;
$.get(filename, function(data) {
这会将Javascript变量filename
设置为PHP变量$filename
的值,并调用$.get(filename)
。
答案 1 :(得分:1)
$.get(<?php echo json_encode($filename) ?>, function(data) {
使用json_encode可确保文件名中的任何JS元字符都不会“破坏”您的脚本。
答案 2 :(得分:0)
谢谢大家。我想出了一个简单的方法将变量从php文件传递给我的js。
我做的是在控制器文件中创建了一个视图变量,并为其分配了一个包含div标签的字符串,如下所示:
$this->view->filename = "<div id=\"filename\" style=\"display:none\">".$file."</div>";
其中$ file是包含我的文件名的变量,我必须将其传递给javascript。现在,在我看来,我做了类似的事情:
<?php echo $this->filename ?>
这使得文件名可用于我的视图,我必须运行该javascript。然后在我的javascript函数中我初始化了一个这样的变量:
var file = $('#filename').text();
$.get(file, function(data) {
所以我得到了从php文件传递到我的javascript函数的变量。