イムを更新せずにフォームを送信:のjQuery:この方法のようにフォームを送信しようとしている
<form id="myForm" action="http://example.com/somefile" method="POST">
...
...
...
<input type="submit" id="sendForm" value="send">
</form>
アクションは、別の開発者によって開発されたそのWebサービスをリンクするので、私は、フォームを送信すると、Webサービスは、私に返信URL(http://www.example.com/thanks)で、私は何をしたいのですが、このWebサービスの返信を避け、その場所でリダイレクトのURLを変更することは可能ですか?
<script>
$("#sendForm").click(function() {
if (form_check_validation()) {
$("#myForm").submit();
window.location.replace("http://stackoverflow.com");
} else {
return false;
// event.preventDefault();
}
});
</script>
しかし、その動作していない:アイブ氏が試し
はあまりにもでそれを行います。
おかげ
注:Webサービスは、別のサーバにあるので、イムは、クロスドメインの起源の問題を持ちます。
これは通常のフォーム送信では実行できません。 Ajaxなどを使用しない限り –
'window.location'のフォームと設定の両方がナビゲーションを必要とし、ページは1回だけ、1つまたは他のページにナビゲートできます。 Ajaxを介してフォームデータを送信することは、ページとサービスが[同じ原点のルールを満たすか、または両方が原点を許可することで合意する]という条件で可能性があります(https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)。それ以外の場合は、サーバー側のレイヤーが仲介する必要があります。フォームデータをサービスに渡すことができ、クライアントのリダイレクトを制御することもできます。 –