【问题标题】:AngularJS JQuery Ajax form submission EquivalentAngularJS JQuery Ajax 表单提交等价
【发布时间】:2015-04-03 23:18:26
【问题描述】:

最近我进入了 angularjs,到目前为止它非常棒。我一直在通过 $http 服务发送 AJAX 请求。今天我震惊地发现没有简单的方法来做到这一点(据我所知)。通过 google 和 SO 进行搜索使我无法使用复杂的解决方案。

虽然我现在最终使用了 JQuery,但我很好奇像 JQuery ajax 这样能够发送表单的东西是否真的可用。这是一个简单的 JQuery 代码来说明我在说什么

$.ajax({
           type: "POST",
           url: formUrl,
           data: formData,  
           success: function(data)
           {
                $scope.form = $sce.trustAsHtml('<div class="alert alert-success">Succesfully Registred. You will be taken home in 5 seconds!</div>');
                $timeout(function(){
                    $window.location.href= "#home";
                }, 10000);
           }
         });

【问题讨论】:

    标签: javascript jquery ajax angularjs


    【解决方案1】:

    在 Angular 中有一个等价物,这里是一个带有示例实现的 jsfiddle 的链接:http://jsfiddle.net/dmcquillan314/boo5tn62/

    第 11 行的函数是一个如何向 REST API 发送请求的示例:

    $scope.sendToResource = function() {}
    

    要启用此功能,只需将指令中的函数更改为指向该工厂,它将向工厂中配置的 api url 发送请求。

    为了使用 api 进行测试,您必须更改工厂以匹配您的服务器

    这里有一些相关文档的链接:

    https://docs.angularjs.org/api/ngResource/service/$resource

    https://docs.angularjs.org/api/ng/directive/ngSubmit

    https://docs.angularjs.org/api/auto/service/$provide

    如果有任何不清楚的地方或者您需要任何进一步的解释,请告诉我。希望这能帮助您入门。

    【讨论】:

    • 对于这样一个基本任务来说似乎太复杂了。我会坚持使用 JQuery。感谢您的详尽帖子!
    • 没有参数。不过没问题。在处理大型应用程序时,它会变得很有帮助。
    • 它有什么帮助?我的观点是它使简单的事情变得困难。但我可能又错过了大局!
    • @StefanoMtangoo 恕我直言,它主要在您构建一个需要与之交互的多个 ReST 端点的 js 应用程序时提供帮助。构建组件的语法还有助于简化组合服务的过程以及通过使用工厂、服务和装饰器来使用 OOP 设计模式,这些都是开箱即用的。更不用说其中的客户端验证库非常棒,并且几乎可以在任何级别进行扩展。我使用 angularJS 的原因还有很多,但这些只是其中一些重要的原因。
    • @StefanoMtangoo 另外,Q Promise 库是 AngularJS 中的一个集成组件。无论是使用 Angular 还是任何 js 框架,我都建议将它用于任何类型的异步编程。 github.com/kriskowal/q
    猜你喜欢
    • 2017-09-05
    • 2021-09-30
    • 2011-04-23
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多