angularjs загружает файл через POST на IE8 / 9 без обновления страницы

#html #asp.net-mvc #angularjs #internet-explorer-8 #internet-explorer-9

#HTML #asp.net-mvc #angularjs #internet-explorer-8 #internet-explorer-9

Вопрос:

Я пытаюсь загрузить динамически сгенерированный файл с сервера, используя скрытую форму.

Ниже приведена угловая функция, которую я использую для отправки скрытой формы

 $scope.downloadCsv = function() {
   var dataset = JSON.stringify($scope.dataset);
   var body = $('body');
   var reportParamJson = angular.toJson($scope.dataset);
   var hiddenForm = "<form action='/Reports/SaveTestCsv' method='POST' target='_blank'><input type='hidden' name='dataset' value='"   dataset   "'/ ><button id='submitCSV' type='submit'></button></form>";
   body.append(hiddenForm);
   $('#submitCSV').click();
}
  

Ниже приведен метод .net mvc для генерации ответа с помощью файла

 [HttpPost]
public ActionResult SaveTestCsv(string dataset)
{
    var data = JsonConvert.DeserializeObject<MyObject>(dataset);
    var binary = getTestCSV(data);
    var file = File(binary, "text/csv", "test.csv");
    return file;
}
  

Ниже приведен соответствующий html-код с частичной html-страницы, которую я включаю в представление с помощью ng-include

 <div><a href="#" ng-click="downloadCsv()">Download CSV</a></div>
<div ng-grid="gridOptions"></div>
  

.

Когда я нажимаю «Загрузить CSV», Chrome, FF и IE10 предлагают мне сохранить файл без обновления страницы / просмотра, но в IE8 / 9 страница обновляется, поэтому содержимое тега ng-include исчезает, в частности html, который я опубликовал выше, больше не отображается.присутствует.

Мне интересно, имеет ли это какое-то отношение к хэш-бангу в URL-адресе из IE8 / 9 и есть ли какой-либо способ это исправить?

Редактировать

В итоге я полностью удалил маршрутизацию из angular и просто использовал .net MVC для выполнения маршрутизации для меня, а затем он работает на IE8