IE没有设置cookie(Firefox和Chrome工作正常)

时间:2016-07-04 03:04:34

标签: javascript firefox cookies microsoft-edge

出于某种原因,Microsoft Edge(IE 10和9也经过测试)没有为我的某个应用程序设置域cookie。相同的代码似乎在其他浏览器上正常工作。我的代码可能有什么问题,或者我认为这与我的托管服务提供商设置有关?顺便说一下,我使用Plesk来托管我的应用程序。请参阅附带的Fiddler截图,包括Edge和Firefox。

边缘 - 登录屏幕 enter image description here Edge - 未设置managerId的Cookie并且登录失败。 enter image description here

Firefox - 登录屏幕 enter image description here FF - Cookies设置(全部3个)并登录成功。 enter image description here

更新:代码(裸骨结构)

<script type="text/javascript">

function onLoginSuccess() { 

    parent.window.location.href = '/Manager';
}
function validateLoginForm() {
    var res = $('#frmLogin').valid();
    if (res) {
        $('#frmLogin').submit();
    }
        return false;
}
</script>

<form action="/Home/login" class="cd-form" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-success="onLoginSuccess" data-ajax-update="#loginError" defaultbutton="btnLogin" id="frmLogin" method="post">                                                                
<p class="fieldset">
    <label>E-mail</label>
    <input id="emailId" name="emailId" placeholder="E-mail" type="text" value="" />
</p>
<p class="fieldset">
    <label>Password</label>
    <input id="password" name="password" placeholder="Password" type="password" />
</p>
<p id="loginError" class="field-validation-error"></p>
<p class="fieldset">
    <input class="full-width" type="submit" value="Login" id="btnLogin" name="btnLogin" onclick="return validateLoginForm();"/>
</p>

我们通过弹出窗口(其代码如上所示)发出Ajax请求,以验证登录凭据,然后为用户设置cookie。虽然相同的代码在Firefox和Chrome中有效,但在Edge浏览器中却没有(通过fiddler快照可以看到)。

0 个答案:

没有答案