0

由于单引号,我在参数列表错误后收到了一个期待的 ) :

window.top.stopAudioUpload(1, '43', 'Thorne, Grandma's Goodbye excerpt.m4a');

audioupload.php (line 11, col 54)

我的问题是如何让代码行接受单引号?

代码:

 <script language="javascript" type="text/javascript">
 window.top.stopAudioUpload(<?php echo $result; ?>, '<?php echo $id; ?>', '<?php echo $_FILES['fileAudio']['name'] ?>');
 </script>  
4

4 回答 4

5

试试这个:

<script type="text/javascript">
top.stopAudioUpload(
  <?php echo json_encode($result); ?>,
  <?php echo json_encode($id); ?>,
  <?php echo json_encode($_FILES['fileAudio']['name']); ?>
);
</script>

注意缺少引号 - 这很重要,因为json_encode如果需要会自动添加这些。

于 2013-01-29T23:14:04.600 回答
2

尝试\转义字符'Thorne,Grandma\'s Goodbye excerpt.m4a'

于 2013-01-29T23:13:27.923 回答
0

您可以尝试使用反斜杠手动转义单引号,Thorn, Grandma\'s Goodbye excerpt.m4a也可以使用转义功能 - 请参阅此处的文档:

http://www.php.net/manual/en/function.htmlspecialchars.php

于 2013-01-29T23:15:38.430 回答
0

你的问题在这里:

window.top.stopAudioUpload(<?php echo $result; ?>, '<?php echo $id; ?>', '<?php echo $_FILES['fileAudio']['name'] ?>');

更改单引号'<?php echo将解决它。所以:

window.top.stopAudioUpload("<?php echo $result; ?>", "<?php echo $id; ?>", "<?php echo $_FILES['fileAudio']['name'] ?>");

您也可以使用json_encode($_FILES['fileAudio']['name']). 这会自动添加引号。

于 2013-01-29T23:18:09.077 回答