Tag: Azure的web站点

如何使用ajax window.location下载文件

我在过滤数据表的页面上有filter。 还有一个独立的按钮,可以将数据导出为ex​​cel。 我按照这个例子: 通过AJAX MVC下载Excel文件 单击导出按钮时,jQuery将读取所有filter值并将结果传递回服务器,如下所示: $.ajax({ url: url, type: ‘POST’, dataType: ‘json’, contentType: ‘application/json; charset=utf-8’, data: filterData }).done(function (returnData) { if (returnData.success) { window.location = returnData.locationUrl; } }); 在服务器上我有2个动作 [HttpPost] public ActionResult ExportTo(SearchVm searchVm) { var data = _service.GetSearchTerm(searchVm).Take(150).ToList(); string handle = Guid.NewGuid().ToString(); TempData[handle] = data; var fileName = $”C-{handle}.xlsx”; var locationUrl = Url.Action(“Download”, […]

由于CORS,Azure网站上的HTTP OPTIONS请求失败

我最近将我们的服务器从Rackspace CloudSites(在Apache / Linux上运行)转移到了Windows Azure网站。 自迁移以来,我们的REST API上的所有jQuery AJAX请求都因CORS而失败。 我们使用自定义标头,因此jQuery在运行实际API调用之前会发出Pre-flight HTTP OPTIONS请求。 问题是OPTIONS请求似乎没有到达我的PHP代码,而是由我似乎无法控制的其他实体(显然是Web服务器)返回。 我已经使用以下标题几年了所以我很确定问题不在PHP代码中: output->set_header(“Access-Control-Allow-Origin: *”); $this->output->set_header(“Access-Control-Allow-Methods: GET,POST,DELETE,HEAD,PUT,OPTIONS”); $this->output->set_header(“Access-Control-Allow-Headers: X-Olaround-Debug-Mode, Authorization, Accept”); $this->output->set_header(“Access-Control-Expose-Headers: X-Olaround-Debug-Mode, X-Olaround-Request-Start-Timestamp, X-Olaround-Request-End-Timestamp, X-Olaround-Request-Time, X-Olaround-Request-Method, X-Olaround-Request-Result, X-Olaround-Request-Endpoint” ); ?> 我猜这个问题是特定于Azure网站的,因为代码似乎在我的开发机器(Windows 8 / IIS 8.0)上运行良好。 我是Azure的新手(以及一般的基于Windows的托管),所以我几乎不知道如何处理和调试此问题,因为Azure网站允许非常小的控制。