与Microsoft Edge的ajax jquery有些不对劲

时间:2016-10-06 10:17:17

标签: c# jquery ajax asp.net-web-api2 microsoft-edge

我注意到Microsoft Edge上的一个奇怪行为和一个使用jQuery的ajax请求。 在一个页面中我有这个代码

$("#btnSend").click(function () {
        $("#sending").show();
          $.ajax({
                type: 'GET',
                url: '/Report/SaveQuoteOnFile?quote=18',
                crossDomain: true,
                success: function (msg) {
                    if (msg == 'True') {
                        alert('Email sent to the client');
                    }
                    $("#sending").hide();
                },
                error: function (request, status, error) {
                    $("#sending").hide();
                }
            });
        });

WebApi是用C#构建的,代码类似于

public bool SaveQuoteOnFile(int quote) 
    {
          bool rtn = false;
          Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST");
          Response.Headers.Add("Access-Control-Allow-Headers", "accept, authority");
          Response.Headers.Add("Access-Control-Allow-Credentials", "true");

          // code to send an email
          // if the email is sent rtn = true
          ...

          return rtn;
     }

当我使用 Chrome 打开页面并点击按钮 btnSend 时,Chrome会调用WebAPI,电子邮件会被发送,结果为 true 我显示一条消息。如果我在WebApi中插入断点,我可以一步一步地遵循代码。我假设总是一样的。

现在我用 Microsoft Edge 打开同样的打开并点击按钮 btnSend ,它似乎调用WebApi,结果是 true 我显示了一条消息但电子邮件尚未发送。相同的断点并不会触发。

Microsoft Edge Developer Tools Network

我认为首先是WebApi代码是错误的。明显。我尝试使用Mozilla和Safari,但它工作正常。

观。我清理了Microsoft Edge上的缓存和其他内容。我点击按钮,现在工作正常!然后,我很开心,并在桌面上向老板展示我的工作。在Microsoft Edge上,我再次单击按钮,没有任何反应。它可以与其他浏览器一起使用。我再次清理缓存和Microsoft Edge上的其他内容......它再次正常工作......

好的,问题是缓存(???)但是我怎么能解决一般这个问题呢? 提前感谢您的任何建议。

0 个答案:

没有答案