1

当用户使用 DotNetOpenAuth 使用 facebook 或 twitter 登录时,我正在尝试打开一个模式窗口(jQuery colorbox)。我用 jQuery 写了一篇文章,但我不知道为什么我没有回复。

这是 HTML

<form returnurl="" action="/account/externalLogin" id="ExternalLogin" method="post" novalidate="novalidate">
     <fieldset id="socialLoginList">
          <legend>Log in using another service</legend>
               <p>
                    <button type="submit" name="provider" class="lightbox" value="twitter" title="Log in using your Twitter account">Twitter</button>
                    <button type="submit" name="provider" class="lightbox" value="facebook" title="Log in using your Facebook account">Facebook</button>
               </p>
     </fieldset>
</form>

这是我的javascript

$("#ExternalLogin").submit(function () {
     $.post($(this).attr("action"), $(this).serialize(), function (data) {
          alert(data);
     }, 'html');

     return false;
});

我从来没有收到来自 $.post 的回复。我在做什么坏事?

4

1 回答 1

0

请参阅使用 $.ajax 发布 JSON 数据时如何提供 AntiForgeryToken?

如果您使用的是 MVC 4 项目中的标准帐户控制器,您将点击具有属性 [ValidateAntiForgeryToken] 的 ExternalLogin - 您可以通过阅读错误消息来确认这一点。

您需要发回此令牌,否则服务器会给您一个 500 内部错误。

于 2012-12-15T18:17:30.023 回答