我在 firebug 中遇到错误:
SyntaxError: missing ] after element list
var o99_images = [ C:\Documents and Settings\XXXX\Desktop\xampp\htdocs\www.s
--------------------^
有问题的 var 是路径数组(本地)。 示例数组如下所示:
var o99_images = [C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\2000501.freddy.lulu.milano.jpg,C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\4147941_460s.jpg,C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\732331_26687367.jpg];
我绝不是 javascript 大师,但我怀疑问题在于路径本身作为字符串(可能是 :
?),因为当我仅对数字数组执行相同操作时(例如 var o99_images = [12,14,15,18]
没有问题..
这是 JSON 函数:
function O99_Do_Action( id ) {
$.ajax({
type: 'POST',
url: ajaxurl,
data: { action: "ajaxresponse", id: id },
success: function( response ) {
if ( response.success ) {
O99_Do_ActionUpdateStatus( id, true, response );
}
else {
O99_Do_ActionUpdateStatus( id, false, response );
}
if ( o99_images.length && o99_continue ) {
O99_Do_Action( o99_images.shift() );
}
else {
O99_Do_ActionFinishUp();
}
},
error: function( response ) {
O99_Do_ActionUpdateStatus( id, false, response );
if ( o99_images.length && o99_continue ) {
O99_Do_Action( o99_images.shift() );
}
else {
O99_Do_ActionFinishUp();
}
}
});
}
在此之前,变量:
jQuery(document).ready(function($){
var i;
var o99_images = [<?php echo $ids; ?>];
var o99_total = o99_images.length;
var o99_count = 1;
//... continue vars and function
如您所见,相关的 var
正在 php 中生成。 (implode() 带有 ,
的字符串)
那么路径字符串本身就是问题吗?如果是这样,如何将路径传递给这样的变量??
已解决:
感谢 @Aatif Farooq 让我走上正轨,答案是 json_encode() ,它处理 quores "
和转义问题 //
..
当我搜索 addslashes()
php 函数时,我找到了 json_encode()
.. 与此同时,@slashingweapon 得到了正确的结果..
echo json_encode($ids);
最佳答案
路径实际上是一个字符串,因此您应该将路径用单引号或双引号括起来。 喜欢:
'c://any-path/to/file.php'
在你的情况下应该是:
var o99_images = ['C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\2000501.freddy.lulu.milano.jpg','C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\4147941_460s.jpg','C:\Documents and Settings\XX\XX\xampp\htdocs\XX\XX\uploads\images_to_post\732331_26687367.jpg'];
关于php - JS - 使用路径时数组 php 出现 PHP JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432308/