![](/img/trans.png)
[英]Why won't Internet Explorer 11 accept this clickTAG flash variable?
[英]Why won't JSON accept my PHP variable?
我无法通过jQuery.ajax
调用来使用我的PHP字符串变量$defaultTicker
。 我尝试过编码到utf8并修剪任何类型的“特殊”角色,但没有任何帮助。 如果我查看页面源代码,我会看到一个有效的JSON数组: { "ticker":"SPY", "startDay":1, "endDay":30}
。
这是我提交数据的jQuery:
$.ajax({
url: "findCorrelated.php",
// WHY DOESN'T <?=$defaultTicker?> work???
data: {
"ticker": "<?=$defaultTicker?>",
"startDay": 1,
"endDay": 30
},
success: function (data) {
$('#testParagraph').show();
$('#testParagraph').html(data);
}
});
有关为何无法使用PHP变量提交的任何想法? 如果我硬编码SPY
代替<?defaultTicker?>
,它将成功。 但是,在查看源时,结果看起来是相同的。
注意:我没有在PHP数组上使用json_encode
,因为startDay
和endDay
值将来自客户端JavaScript。
编辑:真正的问题实际上是Chrome中的浏览器设置。 它缓存了我的javascript并忽略了对文件的任何更新,因此我不断进行更改并获得相同的结果。
这可能是因为您的服务器没有启用short_open_tag
配置。
因此,以下行不会被解析为PHP代码,而是被视为纯文本。
"ticker": "<?=$defaultTicker?>",
请改用:
"ticker": "<?php echo $defaultTicker; ?>"
短标记在编码领域被认为是PITA,因为如果您必须将代码迁移到不支持它的服务器,或者您无法启用它,那么您必须为该环境编辑所有代码什么时候你可以用普通的标签。 但是 ,从5.4.x开始, 默认情况下启用短手标记并在任何PHP文档中进行解析。 但要记住不同的环境是件好事。
尝试使用:
data: { "ticker":"<?php echo $defaultTicker; ?>", "startDay":1, "endDay":30},
代替:
data: { "ticker":"<?=$defaultTicker?>", "startDay":1, "endDay":30},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.