【问题标题】:how can javascript form submit fire angularjs event?javascript表单如何提交fire angularjs事件?
【发布时间】:2016-03-21 03:49:12
【问题描述】:

我有一个通过常规 javascript outsite angular 提交的表单。表单已成功提交并更新数据库。我在 angularjs 中有一个 $http 来查询数据。

我的问题是提交表单后,如何在 angularjs 中刷新数据?

示例 javascript 提交:

$.getJSON('/Api/Cbs/setPost', inputPost, function(rsp){
  if(rsp.status > 0){alert('submited');
}

这是我在 angularjs 中的代码

$http.get('echo U('Api/Cbs/getPostList')')
.then(function(rsp){
  console.log('angular-getPost', rsp);
  $scope.postList = rsp.data;
});

$http.get() 仅在页面加载时触发一次,而不是一直关注 API 数据更新。

【问题讨论】:

  • 通过查询 DOM 来访问范围.. 然后调用 function 刷新 postList 数据.. 你可以参考这里 how to access scope of dom by querying it
  • 显示提交代码的完整上下文。您如何处理响应?在角度之外有另一个提交处理程序似乎很奇怪

标签: javascript angularjs forms


【解决方案1】:

您可以通过 DOM 搜索获得范围:

angular.element(controllerId).scope().$apply("getHttp();");

其中 controllerId - 你的控制器标签的 id 属性,例如:

<div ng-controller="myController" id="controllerId">

并且 getHttp() 方法是在作用域上声明的:

  $scope.getHttp = function () {
    $http.get('echo U('Api/Cbs/getPostList')')
    .then(function(rsp){
      console.log('angular-getPost', rsp);
      $scope.postList = rsp.data;
    });
  };

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2011-11-16
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    相关资源
    最近更新 更多