php - JS - 使用路径时数组 php 出现 PHP JSON 错误

标签 php javascript arrays json path

我在 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/

相关文章:

php - 添加 mysql_real_escape_string() 导致将空白值存储到数据库

javascript - Google map 对地点进行地理编码

javascript - 创建精度系统

javascript - 使用 mocha 在 node.js 中进行测试 - 新手

php - 按 3 个值对多维数组进行排序,或按值将数组拆分为 3 个数组

javascript - 获取过滤数组项的索引

php - 我应该在 HTML 中的什么地方放置 PHP include/require 语句?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

javascript - 如何使可滚动的 div 隐藏在标题和子标题后面?

java - 多行打印数组