我遇到了一个函数的问题,我传递了2个参数,其中一个包含字符串“12345.00”,主要问题是在console.log(字符串)上这只返回“12345”。 / p>
有没有办法获得整个字符串?
$data = array(
array(
'arg1' => '1',
'arg2' => '123'
),
array(
'arg1' => '2',
'arg2' => '12345.00'
)
);
<button id="openTab">Test</button>
foreach($data as $item){
<script>
$('#openTab').click(function(e){
e.preventDefault();
getValues(<?php echo $item['arg1'](); ?>, <?php echo $item['arg2']; ?>);
});
</script>
}
function getValues(arg1, arg2){
console.log(arg2);
new Ajax.Request("<?php echo $this->getUrl('getValues') ?>", {
method: 'POST',
type: 'json',
parameters: { arg1: arg1, arg2: arg2},
onComplete: function(transport) {
var result = JSON.parse(transport.responseText);
console.log(result);
}
});
}
答案 0 :(得分:1)
strtotime
这呈现:
getValues(<?php echo $item['arg1'](); ?>, <?php echo $item['arg2']; ?>);
如果你想要JS字符串,你需要引用它们:
getValues(2, 12345.00);
呈现:
getValues("<?php echo $item['arg1'](); ?>", "<?php echo $item['arg2']; ?>");
这可以通过查看渲染的JS来验证。
您还应该采取防御性编码并假设返回的数据可能包含引号,例如,在将其呈现为JS之前应将其转义为JavaScript。
了解您的文件基本上是模板非常重要。在客户端发生的事情完全取决于它的呈现方式。您可以通过查看源或检查元素来检查呈现,以验证实际传递给浏览器的内容。