Internet Explorer要求下载POST请求

时间:2014-09-30 18:46:13

标签: php jquery ajax internet-explorer

我继承了一个PHP脚本,它使用in-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中(而不是代码中)并以text / plain

的形式返回请求
header('Content-Type: text/plain; charset=utf-8');
$data->record->mail = $_POST['mail'];

我们尝试将其他内容类型作为请求发送,但无法在Chrome,Firefox等中运行。

查看继承的HTML,字段将填充在没有表单标记的层次结构中,这使我暂停了原因。我不完全确定这是不是罪魁祸首。不幸的是,我不能轻易发表演示进行审查。但是,如果有人看到这个或有任何关于原因的想法,那么洞察力将会受到赞赏。

1 个答案:

答案 0 :(得分:1)

在location.reload('true')中删除逗号周围的逗号;它需要一个布尔值,你输入它作为一个字符串,这不是IE所期望的。