在javascript文件错误中使用PHPVAR
我有一个关于在javascript文件中使用php变量的问题。 这是我的index.php文件:在javascript文件错误中使用PHPVAR,php,javascript,jquery,variables,Php,Javascript,Jquery,Variables,我有一个关于在javascript文件中使用php变量的问题。 这是我的index.php文件: <body> <div class="container"> <div class="row"> <div class="span12"> <?php if(isset($_GET['appid'])) {
<body>
<div class="container">
<div class="row">
<div class="span12">
<?php
if(isset($_GET['appid'])) {
// GET appid
$appid = $_GET['appid'];
$json_url ='http://api.url.com/api/gateway/call/1.4/getApp?appid=' . $appid;
$ch = curl_init($json_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$str = curl_exec($ch);
curl_close($ch);
$data = json_decode($str);
$array = json_encode($data);
}
else{
}
?>
<p id="errors" class="text-error"></p>
</div>
</div>
<hr>
</div> <!-- /container -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
<script src="js/vendor/bootstrap.min.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js.php"></script>
</body>
window.jQuery | | document.write(“”)
如您所见,我检查是否发送了appid。当我收到它时,我从api加载数据。
在页面底部,我有一个指向javascript文件的链接。(.php,因为我想在js文件中使用PHPVAR$数组)
Mymain.js.php:
$(document).ready(function() {
var data = <?php echo $array;?>;
alert(data);
});
$(文档).ready(函数(){
var数据=;
警报(数据);
});
但我总是在控制台中出错:
未捕获的语法错误:意外标记<
有人知道我做错了什么吗?试试这个
$(document).ready(function() {
var data = '<?php echo isset($array) ? $array :
json_encode(array("nothing in array data"));?>';
// if $array not set then it should return {"0":"nothing in array data"}
alert(data);
});
$(文档).ready(函数(){
var数据=“”;
//如果未设置$array,则它应返回{“0”:“数组数据中无任何内容”}
警报(数据);
});
试试这个
$(document).ready(function() {
var data = '<?php echo isset($array) ? $array :
json_encode(array("nothing in array data"));?>';
// if $array not set then it should return {"0":"nothing in array data"}
alert(data);
});
$(文档).ready(函数(){
var数据=“”;
//如果未设置$array,则它应返回{“0”:“数组数据中无任何内容”}
警报(数据);
});
您忘记引用var数据的值,请使用此
var data = '<?php echo $array;?>';
var数据=”;
您忘记引用var数据的值,请使用此
var data = '<?php echo $array;?>';
var数据=”;
您正在一个完全不同的文件中创建数组这两个变量不在同一范围内。此外,Javascript文件显然没有被解释为PHP(也不应该被解释为PHP)。因此:
这两个变量不在同一范围内。此外,Javascript文件显然没有被解释为PHP(也不应该被解释为PHP)。因此:
Javascript抱怨您的变量在不同的范围内,因为您没有使用PHPinclude
函数。以下是我所知道的实现您想要的最简单的方法:
- 将JavaScript文件重命名为
main.js
- 由于无法在
.js
文件中使用PHP,因此在调用脚本之前声明JavaScript变量,如下所示:
<script type="text/javascript">
var array = '<?php echo $array ?>';
</script>
<script src="js/main.js"></script>
您的变量位于不同的范围内,因为您没有使用PHP
include
函数。以下是我所知道的实现您想要的最简单的方法:
- 将JavaScript文件重命名为
main.js
- 由于无法在
.js
文件中使用PHP,因此在调用脚本之前声明JavaScript变量,如下所示:
<script type="text/javascript">
var array = '<?php echo $array ?>';
</script>
<script src="js/main.js"></script>
我仍然收到错误:未捕获的语法错误:意外标记从页面中删除curl代码
,然后检查是否出现错误,然后在javascript
中没有错误。我仍然收到错误:未捕获的语法错误:意外标记从页面中删除curl代码
,然后检查是否出现错误,然后在javascript
。它是main.js.php
的完整源代码吗?粘贴在此处的代码在index.php
中设置$array
,并尝试在main.js.php
中使用它?索引文件中的$array
变量在main.js.php
文件中不可用。我可以从.js.php文件中的api加载数据吗?它是main.js.php
?粘贴到这里的代码在index.php
中设置$array
,并尝试在main.js.php
中使用它。您的index
文件中的$array
变量在main.js.php
文件中不可用。我可以从.js.php文件中的api加载数据吗?