1

ユーザーがFacebookまたはTwitterでDotNetOpenAuthを使用してログインしているときに、モーダルウィンドウ(jQueryカラーボックス)を開こうとしています。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 に答える