2012-12-22 29 views
0

我的要求是,无论何时点击图像,应在浏览器上打开PDF。我正在使用Jquery ajax [POST调用]来调用ASP.NET MVC端,并在响应中返回一个文件。由于我需要将大量数据从客户端传递到服务器,所以jquery端需要POST。使用JSON和MVC3将PDF返回给浏览器

HTML部分:

<span data-id='printSettings' title='Generate PDF' class="preferenceSettings"></span> 

JS部分:当点击生成PDF图标时,这种被激发。

var textToSend = $('.microChartTable', self.element)[0]; 
var dataToSend = { htmlContent: textToSend.outerHTML }; 
$.ajax({ 
     url: "/EADashboard/ConvertToPDF", 
     data: JSON.stringify(dataToSend), 
     type: 'POST',           
     contentType: 'application/json', 
     success: function (data) { 

     } // -- success ends here 

     }); 

ASP.NET正面:在我的控制,我有以下代码:

[HttpPost] 
    public FileResult ConvertToPDF(HtmContent content) 
    { 

     string fileName = Server.MapPath("~/SeedData/data.pdf"); 
     string contentType = "application/pdf"; 

     return new FilePathResult(fileName, contentType); 
    } 

现在PDF生成代码是正确的只是PDF文件没有被打开浏览器端。我已经看过帖子Return PDF to browser using JSON and MVC?,但由于没有提供解决方案,我再次发布这个。任何人都可以让我知道这可以实现吗?

谢谢

回答

1

两件事。

  1. 你为什么要通过ajax发帖而不是普通帖子?用一个普通的帖子你的代码可能会工作。

  2. 如果你真的需要用ajax来做,你会在ajax调用成功的时候接收到数据对象的结果,而且我没有看到你对它做了什么,这就是为什么你看不到它发生的一切。

相关问题