1

jQueryを使用してフォームをPOSTして充電しようとしています。私の「ネット」タブには 302 リダイレクトが表示されますが (赤色でエラーを示します)、jQuery は 404 エラーをスローしています。ブラウザから x-domain、post、redirect リクエストを実行することは可能ですか、それともプロキシを使用する必要がありますか?

$(function() {

    var endpoint = "https://api.chargify.com/api/v2/signups"

    $('#new_sub_form').on('submit', function(e){

        e.preventDefault()

        var jqxhr = $.ajax({
            type: "POST",
            url: endpoint,
            crossDomain:true,
            data: $('#new_sub_form').serialize(),
            success: function(data, textStatus, request){
                console.log(request.getResponseHeader('Location'));
            },
            error: function (request, textStatus, errorThrown) {
                console.log(request.getResponseHeader('Location')); // Returns null
            }
        })
    })//on('submit')
})//ready()

更新 (詳細): 302 がサーバーに存在しないページにリダイレクトしていることに気付きました。残念ながら、これを修正しても、まだ問題があります。私が知るところによると、充電するために POST すると、指定した URI を使用して 302 がブラウザーに返されます。この URI は、私のサーバー (現時点では localhost) にあります。ユーザーがリダイレクトされると、サーバーは応答を解析して JSON を返します。コピーして別のタブに貼り付けて応答ヘッダーの場所をテストしたところ、正常に動作しました。

Chargify は https のみを提供していますが、私のローカルホストは http です。これはエラーの原因になりますか?! HTTP レスポンス

4

2 に答える 2

0

Chargify Direct は ajax/CORS をサポートしていません。

彼らが説明しているように、「透過的なリダイレクト」を使用する必要があります。これは基本的に、ユーザーをChargifyにリダイレクトする標準フォームの投稿であり、ユーザーをペイロードで指定したURLに再度リダイレクトします。これは、ユーザーが一時的にサイトを離れて戻ってくることを意味します。

<form method="post" action="https://api.chargify.com/api/v2/signups">
</form>

ドキュメント: https://docs.chargify.com/chargify-direct-introduction

于 2015-05-25T22:34:20.903 に答える