用来自rails api的表单提交的新数据重新填充Angular应用的数据
Repopulate Angular app data with new data from form submission from a rails api
我有一个rails api,它向Angular应用发送默认输入。Angular应用在localhost:9000/api/query处接收json,然后在localhost:9000/#/query处的视图将json样式化成一个无序列表。
如果我发送一个POST请求(从浏览器javascript调试器)到Rails应用程序,并且可以发送自定义输入并获得所需的输出作为json字符串。
$.get('http://rails-app-url:3000/api/query', { 'input': 'my input goes here}
我决定做的是建立一个带有输入框的表单,并给它一个ng-submit函数来运行javascript post请求
<form ng-submit="sub()">
<textarea name="my_input"></textarea>
<button id="execute"></button>
</form>
其中sub()函数在jquery脚本中定义,该脚本将查询变量设置为所需的json
$('#execute').click(function() {
queries = $.get('http://url-to-rails-app:3000/api/query', { 'input': 'my input here' });
});
显示查询,我使用如下标记
<div ng-controller="QueryCtrl">
<ul ng-repeat="query in queries">
<li>{{query}}</li>
</ul>
</div>
这里有两个问题:
脚本不会执行,除非它与该特定选项卡视图的html内联编写。我不能把它附加到index.html,因为它找不到#execute按钮
即使脚本与html内联编写,请求也会发送到服务器,但服务器的响应不会反映在html中。
use ng-click
$scope.onSubmit = function() {
queries = $http.get('http://url-to-rails-app:3000/api/query', { 'input': 'my input here' });
};
<form ng-submit="onSubmit()">
<textarea name="my_input"></textarea>
<input type="submit"/>
</form>
编辑
按注释
<form ng-submit="onSubmit()">
<textarea name="my_input"></textarea>
<button type="submit" ng-click="onSubmit()"/>
</form>
你可以这样做(并使用AngularJS中的$http)
<form>
<textarea ng-model="my_input" name="my_input"></textarea>
<button id="execute" ng-click="sub()">Execute</button>
</form>
在控制器中:
$scope.sub = function(){
$http.get('http://url-to-rails-app:3000/api/query', {'input':$scope.my_input}).success(function(data){
$scope.queries = data;
}
}
我假设你的表单和你的显示列表在同一个控制器(共享相同的$作用域)。你为什么要使用GET,我认为POST请求在这种情况下应该更好。
相关文章:
- 如何使用多维JSON数据重新填充表单
- 传递数据以填充在ajax Modal中加载的输入字段
- 使用数据库返回的数据动态填充下拉列表
- 通过传递类别从维基数据 api 填充自动完成
- 如何筛选数据和填充 D3.js堆积条形图
- 使用单击单选按钮时的数据自动填充输入字段
- 用数据预填充 jQuery 自动完成
- 主干持久性从服务器检索数据;t填充集合和模型
- 从角度的JSON数据中填充多个下拉选择框
- 仅当数据已填充时进行验证
- Highcharts使用ajax加载数据以填充工具提示
- 从ajax调用中获取数据并填充模板
- 使用JSON URL数据动态填充HTML表
- 突出显示表上由assync请求数据动态填充的行
- 在JavaScript函数中用数组数据动态填充PHP cookie
- Ember数据未填充模型
- 使用自己的Facebook访问令牌查询数据以填充数据库
- Javascript数据表填充数据问题(没有返回错误)
- 用来自rails api的表单提交的新数据重新填充Angular应用的数据
- 在 ajax 调用后,使用新数据重新填充图像选取器选择控件