繁体   English   中英

Internet Explorer要求下载POST请求作为下载

[英]Internet Explorer asks to download POST request as a download

我继承了一个PHP脚本,该脚本在URL内POST中具有很多逻辑。 一旦我们在IE9中发出请求,它就会要求用户下载“ true”类型的下载,其大小与POST请求非常相似。 我们从来没有看到任何没有将数据保存在服务器上的行为-提交后的预期行为是简单地要求下载。

使用jQuery.ajax触发了实际的POST调用:

$.ajax({
  type: "POST",
  url: "profile/edit-profile-info.php",
  data:"mail="+mail,
  success: function() {
    console.log('Success!!!');
    location.reload('true'); //Reloads the page with the form
  }
}).done(function() {
    console.log('Done!!!');
    location.reload('true'); //Reloads the page with the form
});

据我所知,reload命令是在浏览器对象空间中继承的。

处理此数据的实际PHP脚本实际上将数据保存在ORM中(不在代码中),并以文本/纯文本形式返回请求

header('Content-Type: text/plain; charset=utf-8');
$data->record->mail = $_POST['mail'];

我们尝试发送另一种内容类型作为请求,但它无法在Chrome,Firefox等中运行。

查看继承的HTML,这些字段填充在没有form标签的层次结构中,这使我停下来。 我不确定这是否是罪魁祸首。 不幸的是,我不能轻易给出演示供审查。 但是,如果有人看到了这个原因,或者对原因有任何想法,则将不胜感激。

删除location.reload('true');中围绕true的逗号。 它需要一个布尔值,并且您将其作为字符串输入,这不是IE期望的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM