1

我有一个文件上传插件(jQuery Fine Upload)。使用这个插件,我通过 AJAX 上传图像,并从响应 (JSON) 生成预览图像。这在主要浏览器中运行良好,除了所有版本的 Internet Explorer,因为这个 sh... 想要打开带有 .js 扩展名的 JSON 响应。当文件输入发生变化时触发该事件。请看下面的代码:

initFileuploader: function() {
    $('#imageUploadWrapper').fineUploader({
        request: {
            uuidName: 'uploadId',
            inputName: 'upload',
            endpoint: '/admin/model/media/image/upload', 
            params: {
                format: 'json'
            }
        },
        // debug: true, // ##### !!!!! #####
        autoUpload: true,
        responseJSON: true,
        deleteFile: {
            enabled: true,
            forceConfirm: true
        }
    }).on('complete', function(event, id, name, response) {

        var elem = $('.qq-upload-list li')[id];

        $(elem).prepend('<div class="previewContainer"></div>').addClass('cf');
        $(elem)
            .children('.previewContainer')
            .append($('<img src="/admin/model/media/image/view/tmp/'+response.result[0].name+'" class="previewItem"/>'));

    });
}

这是 JSON 响应:

{
    "success": true,
    "version": "1.0",
    "code": 200,
    "result": [{
        "name": "08390ab5-0c1d-4801-bef9-7bfd5d446776.jpg",
        "type": "image\/pjpeg",
        "error": 0,
        "size": 845941
    }],
    "error": ""
}
4

1 回答 1

3

如文档中所述,您的响应的 Content-Type 标头必须具有“text/plain”值。如果您的响应的 Content-Type 是“application/json”,正如我认为的那样,您将遇到您正在观察的问题。

于 2013-04-10T18:38:36.800 回答