2015-05-01 4 views
0

Я пытаюсь загрузить pdf-файл с запросом ajax, но ответ от этого запроса игнорирует заголовок «Content-Type: application/pdf».Cant скачать PDF с ответом Ajax (заголовки игнорируются)

запрос Аякса

return Superagent.post(url, data).use(this._addDefaults.bind(this)); 

Ответ Symfony

return new BinaryFileResponse($target); 

Обход

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

+0

Как вы его запрашиваете? GET или POST? мы можем увидеть какой-то код? – Matthew

+0

Изменен пост :) – SinisterGlitch

ответ

1

Я думаю, что это похоже на проблему, с которой я столкнулся в прошлом. Проблема заключается в том, что браузеры не открывают ответы на запросы POST ajax по умолчанию. В конце концов я прибег к автоматической публикации формы. В HTML:

<form method="post" action="http://handler1.ashx" target="_blank"> 
    <input type="hidden" id="data" name="data" value="post_body_stuff"/> 
    <button id="pdfsubmit" type="submit" value="Submit">Export to PDF</button> 
</form> 

Вы можете использовать JavaScript, чтобы поместить все данные, которые вы хотите опубликовать в качестве значения на скрытом поле ввода вместо post_body_stuff. Таким образом, когда содержимое вернется, браузер попытается открыть или сохранить его как файл, а не читать в качестве текста ответа.

Смежные вопросы