javascript - 支付成功页面AngularJS

标签 javascript html angularjs payment

正确的 AngularJS 方法是什么:

我有一个页面接受一些用户信息和付款(通过 Stripe)。

付款成功后,我需要向用户显示一条消息,表明付款已被接受。

我是否将两个 View 合并在同一个部分中(我怀疑不是),然后根据某个作用域变量的状态显示一个 View ,即$scope. paymentAccepted

<form ng-if='!paymentAccepted'>
    ...
</form>

<div id='paymentSuccess' ng-if='paymentAccepted'>
    <p>Your payment has been accepted</p>
</div>

或者我是否使用 $location 服务提供商将用户引导到另一个位置,然后使用那里的单独 View 和 Controller (我怀疑就是这样)。

这很挑剔,但我想阻止用户直接访问我的付款页面,这就是为什么我想用第一种方法来做到这一点。

处理这个问题的正确方法是什么?

最佳答案

如果您使用 ui-router,您的付款状态的子状态可能无法通过 URL 寻址。然后,您只需将 $state 注入(inject)您的 Controller ,并在成功完成付款后转换到相关状态,例如$state.go('home. payment.success').

编辑:假设您是从父状态(本例中为“home. payment”)转换,您实际上会将子状态引用为 $state.go('.success')

关于javascript - 支付成功页面AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912376/

相关文章:

javascript - 在 jQuery 中如何动态地将样式应用于元素、类型和类?

html - 在 HTML/CSS 中对齐三个对象

javascript - angular.equals 如何评估无效的日期对象?

javascript - jquery 将如何为移动设备实现触摸事件?

javascript - 简单的 JavaScript 图像旋转器

javascript - 如何定位元素

jquery - 如何使用 jQuery 将同一类的不同 div 的 div 值相加?

html - CSS 样式表未链接

javascript - 错误: [$injector:unpr] Unknown provider: $cordovaSmsProvider <- $cordovaSms <- smsController

javascript - 如何为(Angularjs)Web 应用程序进行集成测试