window.href.location не работает в Chrome
Пожалуйста, прочитайте вопрос, прежде чем пометить как дубликат. Я'Я пытаюсь загрузить файл, перенаправив с помощью Javascript к действию контроллера в моем проекте ASP.NET MVC3. Он отлично работает в Firefox и IE8. Вот'мой код Javascript:
$(function(){
$(".pdf").click(function(e) {
e.preventDefault();
$.post("@Url.Action("PDF","Helper")", {id : @Model.ID} ,function(data){
if(data.message == "File not found.") {
alert(data.message);
} else {
location.href = '@Url.Action("PDF", "Helper", new { id = Model.ID })';
}
});
});
});
Вот'Что я пытался:
я добавилreturn false;
со всеми вещами ниже
Я изменил строку на:
window.location.href = "../../Helper/PDF/@Model.ID";
Я старалсяwindow.location
вместо
Я изменил относительную ссылку на полную ссылку
Пробовал безwindow
Пытался:
setTimeout(function() {
document.location.href = '@Url.Action("PDF", "Helper", new { id = Model.ID })'
},500);
Я добавил строку:
window.event.returnValue = false;
это дало ошибкуwindow.event не определен, Я заменил его на.e
Я написал "http://www.google.com» вместо этого, и это нетоже не работает. Тем не менее, он работал в отдельном файле HTML только состоит из.location.href = "http://www.google.com";
Все это работало в IE8 и Firefox, но не в Chrome. Что я могу сделать, чтобы решить эту проблему?
РЕДАКТИРОВАТЬ: Это сгенерированный скрипт:
$(function(){
$(".pdf").click(function(e) {
e.preventDefault();
$.post("/Helper/PDF", {id : 130405002} ,function(data){
if(data.message == "File not found.") {
alert(data.message);
} else {
location.href = '/Helper/PDF/130405002';
}
});
});
});
Это сгенерированный HTML, где я вызываю функцию:
Отладив действие я получил эти результаты; у консоли статус есть "не удалось".Type
является "применение / PDF» как и ожидалосьSize
это 198 кб, это 'Размер файла. Метод есть.POST
Это мой вывод на консоль: