0

別のページにリダイレクトせずに、フォーム データを MailChimp に送信しようとしています。代わりに、「サインアップしていただきありがとうございます!」と表示するポップアップが必要です。これはどのように達成できますか?JQuery.post() を使用してデータを送信しようとしましたが、JQuery.post() の同一生成元ポリシーのために機能しているとは思いません。.fail() が実行され、そこからエラー メッセージを取得できません。助けてください。

[編集]: 以下のコードを追加

$("form.newsletter-signup-form").submit(function(event) {
    /* stop form from submitting normally */
    event.preventDefault();
    /* get some values from elements on the page: */
    var url = "http://empirecovers.us1.list-manage1.com/subscribe/post";
    /* Send the data using post */
    var posting = $.post(url);
    /* Put the results in a div */
    posting.done(function(data) {
        alert("done");
    });

    posting.fail(function(XMLHttpRequest, textStatus, errorThrown) {
        alert("XMLHttpRequest: " + XMLHttpRequest.statusText);
        alert("textStatus: " + textStatus);
        alert("errorThrown: " + errorThrown);
    });
    posting.always(function() { alert("finished"); });
});

[注]: これを実装するために ASP.NET を使用していることにも言及したいと思います。データを送信するための .NET 用の MailChimp API があることに気付きました。

4

1 に答える 1

1

必ず独自の ASP.NET ページ、ハンドラー、コントローラー、または使用しているものに投稿する必要があります。これにより、手動で、またはクライアントからではなく Web サーバーから API を介して MailChimp への要求が生成されます。

これにより、秘密鍵や MailChimp API が必要とするものを渡すなど、必要なことは何でも行うことができます。投稿する機能があるため、ユーザー エクスペリエンスをどのようにしたいのかを正確に制御できます。 AJAX 経由で自分のページに。

于 2013-07-30T20:28:23.640 に答える