IE8 使用 jquery form plugin 进行上传图片 取不到返回值

发布于 2022-09-06 00:36:30 字数 1195 浏览 19 评论 0

项目中使用 formData 来进行上传图片的操作。 但是 formData 只能在 IE9 之上工作, IE8 是不被支持的。
找了解决的方式, 使用 jquery-form-plugin 插件来通过 <iframe> 的方式来进行上传图片。

但是使用过程中, 后台 java 程序有了响应, 并且返回了 <textarea>{fileUrl: xxx.com}</textarea> 这种格式的值。 后台的 content-type 也更改成了 text/html

现在的问题是: success 回调函数中的返回值有问题。 它总是返回当前页面内而不是 iframe 当中的 <textarea> 的值, 所以总是为空。 而且, <iframe> 中也不包含后台传过来的返回值。

各位大侠 这个地方是哪里出了问题。。 还需要设置一些其他的地方吗。。。

$('#form').ajaxSubmit({
    url: url,
    type: 'POST',
    dataType: 'text',
    success: function (response, status, xhr) {
        console.log(223);
        console.log(xhr);
    },
    error: function () {
        console.log(333);
    }
});

补充一下, 发现自动生成的 <iframe> 是没有 name 属性。导致 <iframe> 中内容为空。
如果指定带 name<iframe> 里面确实会将返回 <textarea> 加入到 <iframe> 但是,只有一瞬的时间然后就被清掉, <iframe> 里又什么都没有了。。。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁月苍老的讽刺 2022-09-13 00:36:30

我遇到了类似问题,返回值为当前页的html。参考https://github.com/jquery-for...,让后端在返回值的response中将X-Frame-Options设为sameorigin,解决了。

心如狂蝶 2022-09-13 00:36:30

请问下问题解决了吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文