AngularJS - POST 后刷新

2024-02-18

在 Angular 中发出 http POST 请求后刷新内容的正确方法是什么?

//controller.js
var hudControllers = angular.module('hudControllers', []);

hudControllers.controller('PropertyDetailsCtrl', 
  ['$scope','$window','$http', function ($scope,$window,$http) {

   //I want to reload this once the newCommentForm below has been submitted
   $http.get('/api/comments')
    .success(function(data) {$scope.comments = {"data":data};}})
    .error(function(data) {...);

   $scope.newCommentForm = function(){

      newComment=$scope.newComment;
      requestUrl='/api/comments';
      var request = $http({method: "post",url: requestUrl,data: {...}});
      request.success(function(){
        //How do I refresh/reload the comments?
        $scope.comments.push({'comment':'test'}); //Returns error - "TypeError: undefined is not a function"
      });
  };

}]);

//template.ejs
<div class="comment">
  <ul>
     <li ng-repeat="comment in comments.data">{{comment.comment}}</li>
 </ul>
</div>

Thanks.


有很多方法可以做到这一点。我仍然想向您展示最简单的方法(根据您的需要)。

假设您有“first.html”页面并且“属性详细信息Ctrl”与其关联。 现在,在 html 中你可以这样写,

 with very first-div 
 <div ng-controller="PropertyDetailsCtrl" ng-init="initFirst()"> 
.... Your page contents...
</div>   (This will initialize your controller and you will have execution of your first method 'initFirst()'.

在你的 .js 端......

var hudControllers = angular.module('hudControllers', []);

hudControllers.controller('PropertyDetailsCtrl', 
  ['$scope','$window','$http', function ($scope,$window,$http) {

   //I want to reload this once the newCommentForm below has been submitted
$scope.initFirst=function()
{


   $http.get('/api/comments')
    .success(function(data) {...})
    .error(function(data) {...);

        //You need to define your required $scope.....

     $scope.myVariable=data;

 };

现在在适当的时间(你知道什么时候)你的下面的方法被调用。

   $scope.newCommentForm = function(){

      newComment=$scope.newComment;
      requestUrl='/api/comments';
      var request = $http({method: "post",url: requestUrl,data: {...}});
      request.success(function(data){
        //How do I refresh/reload the comments?
             //without calling anything else, you can update your $scope.myVariable here directly like this


       $scope.myVariable=data


      });

      //or else you can call 'initFirst()' method whenever and wherever needed like this,

    $scope.initFirst();


  };

}]);

我希望这个能帮上忙。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS - POST 后刷新 的相关文章

随机推荐

  • 用户从下拉列表框中选择选项后如何获取新选择的值和旧值?

    我有 angularjs 下拉列表框
  • 有条件导入

    我正在考虑在使用swing的java程序中添加dbus功能 这样脚本就可以用来执行一些功能 这个东西也必须在windows上运行 而dbus不可用 所以我正在考虑做以下事情 dbus java import dbus Whatever th
  • Java.exe 在 Android Studio 中以非零退出值 2 结束

    当我添加后出现此错误编译 org apache httpcomponents httpmime 4 2 3 找不到解决方案我还在默认配置部分尝试了多个 dex 文件 true 我还尝试创建另一个运行成功的应用程序进行测试 错误 任务 app
  • 在 App.cs (Xamarin) 中显示 DisplayAlert

    我目前正在尝试不断跟踪用户是否连接到互联网 我有用于检查连接的代码 并且我希望能够在用户使用该应用程序时未连接到互联网时显示弹出窗口 但是 我不能把DisplayAlert at App cs 错误 上下文中不存在 DisplayAlert
  • 我可以使用 ASP.NET 进行“WAR 文件”类型部署吗?

    有时精通 J2EE 的人看到 ASP NET 时会想 将应用程序部署为单个单元的支持在哪里 JSP Servlet 应用程序可以部署为 WAR 文件 所有页面 内容 元数据和代码都位于单个存档中 war 文件可以进行版本控制 可以轻松移动
  • 应用程序在 jdbcTemplate 中随机挂起进行更新

    我在用simpleJdbcTemplateSpring 使用如下所示的查询执行更新 update TABLE B JOIN select Column1 from TABLE A C ON B Column2 C Column3 set B
  • 创建跨域的cookie

    我正在研究饼干 我能够非常轻松地创建cookie 要创建 cookie 我使用以下代码 HttpCookie aCookie new HttpCookie Cookie name aCookie Value Value Response C
  • Dart 错误:Dart_LookupLibrary:未找到库“package:home_widget/home_widget_callback_dispatcher.dart”

    一个很奇怪的问题 我在用https pub dev packages home widget https pub dev packages home widget我正在尝试使用 backgroundCallback 通过按小部件上的图像来刷
  • RTMP中是如何包含flv格式的?

    我正在使用 Wireshark 来检查数据包 但我对 RTMP 流媒体中如何遵循 flv 格式感到困惑 FLV 文档指定标签为 标签类型 数据大小 时间戳 时间戳扩展 streamID VideoTagHeader 但我得到 fmt tim
  • 使用 wkhtmltopdf 设置横向方向

    我如何改变我的方向pdf生成的文件Wkhtmltopdf 我在 PHP 中调用它 如下所示 file fopen tmp html pdfTmp numRand html w or exit Unable to open file fwri
  • 如何从 File#path 获取 utf8 字符

    File path给我 Latin 1 字符 有没有办法让它给我 utf8 字符 或者我应该转换它返回的内容 如果是这样 最好 最简单的转换方法是什么 阐述 所以 我知道我可以这样做 Iconv new UTF 8 LATIN1 iconv
  • 如何将自定义验证器与 dropwizard 一起使用?

    我有一个由其他人编写的 REST api 其中处理对特定 url 的请求的方法接受一堆从路径参数填充的参数 POST Path classid studentid details Consumes MediaType MULTIPART F
  • 将 MySQL ANSI 输入转换为 UTF-8 [重复]

    这个问题在这里已经有答案了 我决定将我的网络应用程序从 ANSI 切换为 UTF 8 在 Notepad 中转换我的硬编码文件的编码后 这会执行转换 不仅仅是更改字符集 并为 UTF 8 设置新的元标记 我现在需要转换我的数据库数据 该数据
  • 从 Rails 控制器访问资产路径

    我正在共享一个配置 yml 文件客户端 我还需要在服务器端加载它 我已将其放置在 app assets javascripts configuration yml 中 我可以在视图内使用 asset path configuration y
  • 是否可以使用 JavaScript 触发键盘按钮?

    是否可以使用 JavaScript 触发键盘按钮 并根据 Caps Lock 按钮获取输入大小写 因此 如果我的大写锁定打开 它应该是大写的 或 如果它关闭了 它应该是小写的 触发关键事件 var ev jQuery Event keypr
  • 无法读取 C 中的某些注册表项

    我正在使用 RegOpenKeyEx 和 RegQueryValueEx 尝试获取 Windows 注册表中六个键的值 我能够完成六项中的四项 但在某些其他方面却失败了 wchar t getRegKeyValue HKEY rootKey
  • iOS7 中检测 MKOverlay 的触摸(MKOverlayRenderer)

    我有一个 MKMapView 可能绘制了数百个多边形 在 iOS7 上将 MKPolygon 和 MKPolygonRenderer 作为一个使用 我需要的是一种对用户触摸其中一个多边形进行操作的方法 例如 它们代表地图上具有一定人口密度的
  • 研究具有标准编码风格的优势

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 Stackoverflow 上有几个问题 关于是否有任何关于什么是最佳编码约定 风格的研究 这
  • 当闭源 CocoaPod 依赖于其他 pod 时,如何为它创建 XCFramework

    我正在寻找创建一个闭源 CocoaPod 根据我的研究 建议似乎是将其作为 XCFramework 分发 source https stackoverflow com a 66459296 1795356 似乎还可以通过在 Podspec
  • AngularJS - POST 后刷新

    在 Angular 中发出 http POST 请求后刷新内容的正确方法是什么 controller js var hudControllers angular module hudControllers hudControllers co