GrpSMK Ответов: 1

Как вызвать действие со страницы просмотра в MVC


У меня есть кнопка внутри для каждого цикла, если я нажму на кнопку, отобразится всплывающее окно с помощью java-скрипта.Всплывающее окно также отображается в java-скрипте.Во всплывающем окне есть еще одна кнопка - "подписаться".Если я нажму кнопку Подписаться, нужно перейти домой методом действия контроллера.

Что я уже пробовал:

Здесь я использую
form action="@Url.Action("Superoffer")" method="POST"
за призыв к действию, но не за работу

<button class="plan-button demo" >Choose Plan</button>


<form action="@Url.Action("Superoffer")" method="POST">
            <script src="https://checkout.stripe.com/checkout.js"></script>
            <script>
                var handler = StripeCheckout.configure({
                    key: "",
                    image: "https://stripe.com/img/documentation/checkout/marketplace.png",
                    name: "Abacus",
                    description: "Pro Subscription Package",
                    panelLabel: "Subscribe",
                    allowRememberMe: false
                });
                var el = document.getElementsByClassName("demo");
                for (var i = 0; i < el.length; i++) {
                    el[i].addEventListener('click', function (e) {
                        handler.open();
                        e.preventDefault();
                    });
                }
                //document.getElementsByClassName("plan-button").addEventListener('click', function (e) {
                //    handler.open();
                //    e.preventDefault();
                //});
            </script>

            <div class="spelled-out">ABACUS</div>

</form>

1 Ответов

Рейтинг:
0

Thomas Nielsen - getCore

Пара вещей
- Вы забыли включить свой API - "ключ", который требуется
- вы забыли валюту и сумму, и я бы также установил локаль: "авто"
- а вы помните jquery в топе?
- Вы должны указать функцию части токена, которая будет вызвана, когда пользователь одобрит платеж

См например: stripe.com/docs[^]

я не понимаю вашей формальной части, если вы используете"@", значит ли это, что вы хотите использовать Razor viewengine?
Если это так, то форма будет начинаться примерно так:

@using (Html.BeginForm("Action", "Controller", FormMethod.Post))
{

Хотите использовать обычную html-форму? в этом случае вы не должны пытаться отправить сообщение контроллеру, так как post-это концепция, основанная на странице, вместо этого вы должны поймать событие кнопки отправки и сделать AJAX-сообщение, потому что вы должны получить результат tripe на клиенте перед отправкой.

<form id="funnyform">

<input type="button" id="mysubmit" value="submit/>

<script type="javascript">
 document.getElementById('mysubmit').addEventListener('click', function (e) {
           //Do an ajax post to your controller with the values you want from your form and/ or return method invoked by stripe
            e.preventDefault();
        });
</script>
</form>

Пример сообщения ajax
asp.net в MVC - MVC и AJAX с JSON в Post в контроллер метод действия [^]