0

我们开发了 MVC 应用程序,这里我们有一个功能导出到 HTML。当用户单击“导出到 html”按钮时,我们已经生成了具有该用户名的 HTML 文件。此 html 文件包含发票详细信息。我们只为一个用户维护一个文件,单独替换发票信息,而不是创建新文件。

我们在controller类中生成了HTML文件并上传到服务器,下面的jQuery查看生成的html文件。

if (dropDownSelect == 'To HTML File') {
            $.ajax({
                type: "POST",
                url: "Appointment/CreateHTMLInvoice/",                 //here we have called the controller and create the html file.
                cache: false,
                data: {
                    AppID: ShareAppID,
                    CusIDs: SelectedCusIDs,
                    CustFlag: AllCustomerFlag
                },
                success: function (result) {
                    if (result != null) {                      
                        window.open('', $.now()).location.href = result;        ///After successfully created the HTML file, here is the code to view the html file
                    }
                },
                error: function (xhr, status, error) {
                    alert('Error ' + xhr.responseText);
                }
            });
        }

第一次下载正确的文件,从第二次下载前一个文件而不是新文件,直到清除浏览器缓存。我已经检查了服务器文件,这个文件是新文件,我们不知道为什么应用程序一次又一次地下载我们第一次生成的同一个文件。

请建议清除缓存。我们需要为每次点击查看新文件。

4

2 回答 2

0

来自jQuery 文档

注意:将缓存设置为 false 仅适用于 HEAD 和 GET 请求。

这是一个 POST 请求有什么原因吗?看起来它很容易成为一个 GET,然后你cache: false就可以正常工作了。

于 2013-10-25T16:19:03.950 回答
0

在 URL 末尾放一个问号以破坏缓存

于 2013-10-25T16:16:14.677 回答