Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE7中的jQuery JSON问题&;8,不在FF或Chrome中(已检查是否有多余的逗号!)_Jquery_Ajax_Json_Internet Explorer - Fatal编程技术网

IE7中的jQuery JSON问题&;8,不在FF或Chrome中(已检查是否有多余的逗号!)

IE7中的jQuery JSON问题&;8,不在FF或Chrome中(已检查是否有多余的逗号!),jquery,ajax,json,internet-explorer,Jquery,Ajax,Json,Internet Explorer,我对ajax上传脚本有一个恼人的问题,它在IE7和IE8中抛出了一个错误。我已经检查了我的代码,看不出问题出在哪里。错误如下: 消息:“result.filename”为空或不是对象 JSON响应是: responseText= {“结果”:{“成功”:true,“文件名”:“autechrea8d7909a2e964c36e04d9f53eea54f6c”},“id”:98} 我可以在其他浏览器中很好地访问responseText.result.filename-知道是什么导致IE问题吗 提前

我对ajax上传脚本有一个恼人的问题,它在IE7和IE8中抛出了一个错误。我已经检查了我的代码,看不出问题出在哪里。错误如下:

消息:“result.filename”为空或不是对象

JSON响应是: responseText= {“结果”:{“成功”:true,“文件名”:“autechrea8d7909a2e964c36e04d9f53eea54f6c”},“id”:98}

我可以在其他浏览器中很好地访问responseText.result.filename-知道是什么导致IE问题吗

提前谢谢

编辑:这是我访问JSON响应的上下文:

var uploader = new qq.FileUploader({
                element: document.getElementById('file-uploader'),
                action: '<?php echo url::base(TRUE) ?>page_images/create/' + page_id,
                debug: true,
                onComplete: function(id, fileName, responseJSON){
                    path = '/media/images/main_images/new_uploads" ?>';
                    path = path + '/' + String(responseJSON.result.filename) + '.jpg';
                    $('.page_images').prepend(
                    '<li style = "float:left; display: inline; margin-right: 5px; width: 110px; height: 140px;">' +
                    '<img src = "' + path + '" width = "100" height = "100" />' +
                    '<br />' +
                    '<a href= "/page_images/delete/' + responseJSON.id + '">' +
                    '<img src= "/media/images/icons/cross.png" alt="Delete" title="Delete" />' +
                    '</a>' +
                    '</li>');
                    deleteHandler();
                }
        }); 
var uploader=new qq.FileUploader({
元素:document.getElementById('file-uploader'),
操作:'page_images/create/'+page_id,
是的,
onComplete:函数(id、文件名、responseJSON){
路径='/media/images/main_-images/new_-uploads”“>';
path=path+'/'+字符串(responseJSON.result.filename)+'.jpg';
$('.page_images')。前缀(
“
  • ”+ '' + “
  • ”); deleteHandler(); } });
    这行是否有输入错误,或者您真的希望路径中有双引号和“>”

    path = '/media/images/main_images/new_uploads" ?>';
    
    此外,您真的应该声明所有变量。我认为您需要这样的内容:

    var path = '/media/images/main_images/new_uploads';
    
            return Json(new { success = false }, "text/html");
    
    也许在注入HTML时,误用的双引号会让IE感到困惑。IE错误消息并没有那么有用

    我还建议您将
    String(responseJSON.result.filename)
    替换为
    responseJSON.result.filename
    ,以减少噪音


    除此之外,我建议您仔细查看您准备的HTML块。您也可以内联JSON数据,看看会发生什么。

    我也遇到了同样的问题,在您返回JSON结果的操作中,将内容类型更改为“text/HTML”,如下所示:

    var path = '/media/images/main_images/new_uploads';
    
            return Json(new { success = false }, "text/html");
    

    不管出于什么原因IE不喜欢其他方式。

    你认为你可以发布更多的代码吗?