2017-09-22 16 views
0

jquery ajaxリクエストを呼び出し、ASP.NET Web APIエンドポイント経由でフォームデータを送信するログインフォームがあります。jqueryでURLにフォームデータを表示するFirefox AJAX投稿

このプロセスでは、ユーザー名とパスワードを確認し、一致する場合はホームページにリダイレクトします。 Chromeから実行してもFireFoxでテストしてもリダイレクトはできませんが、最悪の場合、フォームデータがURLに書き込まれていますか?なぜそれをやっているのですか?これは、Chromeで発生しませんし、私はこれを引き起こす私のコードには何も持っていないと思います

http://localhost:50367/Account/Login?companycode=a&username=a&password=a 

掲示した後、これはURLがどのように見えるかです。

AJAX呼び出しは次のようになります。フォームデータは、Firefox用のURLに表示させることができるもの

$.ajax({ 
    url: "/Account/Login", 
    method: "POST", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data: JSON.stringify(loginData) 
}) 
.done((response) => { 
    if (response.success) { 
     window.location.href = response.returnUrl; 
    } 
}) 
.fail((error) => {  
}); 

+2

[

]提出のデフォルトアクションは防止されていますか? plnkr https://plnkr.coで問題を再現できますか? 'response.returnUrl'とは何ですか? – guest271314

+0

あなたは 'メソッド'を 'タイプ'に変更しようとしましたか? – rafon

+0

@rafon 'type'は' method'のエイリアスです。 'method'はjQuery 1.9.0以降に使用するのに推奨されるプロパティです – Phil

答えて

1

デフォルトアクションの<form>の送信を防止します。

form.onsubmit = function(event) { 
    event.preventDefault(); 
    // do `$.ajax()` stuff 
} 
関連する問題