【问题标题】:$http get request with form$http 获取表单请求
【发布时间】:2014-09-23 13:57:18
【问题描述】:

我根本找不到合适的答案来解决我的问题。我对 Angular 比较陌生,并且对 $http 请求有一个简单的问题。我设置了一个表单,用户可以在其中输入地点和时间,例如人数。

现在我想使用这三个用户输入从我的服务器获取数据,以提供对用户请求的答复。

<input type="text" placeholder="bla1" class="form-control" ng-model="formData.input1">
<input type="text" placeholder="bla2" class="form-control" ng-model="formData.input2">
<input type="text" placeholder="bla3" class="form-control" ng-model="formData.input3">

显然,我现在可以将它们全部发布到 ng-submit 上的 formatData。但我想使用这些信息来检索数据并发出get $http 请求。

我相信paramsdata 属性是需要改变和利用的。

谁能向我解释一下它是如何工作的,或者一般来说,表单的输入如何用于指定 $http 请求?

非常感谢大家!

【问题讨论】:

  • 所以你想使用 $http.get(url) 函数?

标签: angularjs forms http get params


【解决方案1】:

首先,您应该阅读此$http 以便更好地了解它;

对于使用 Get,您必须使用您将在基本 url 之后添加的输入来构建查询字符串。

 var completeUrl = baseUrl + "?input1="+ formData.input1 
                     + "&input2=" + formData.input2 //and the same for input 3
 $http({method: 'GET', url: completeUrl}).
 success(function(data, status, headers, config) {
    // here data contains all informations returned by the server
 }).
 error(function(data, status, headers, config) {
    //In case your server respond with a 4XX or 5XX error code
 });

你可以调用这段代码,只需将它放在一个作用域函数中并使用 ng-submit 调用

$scope.submitFunction = function() { .. }

在你的模板中

<form ng-submit="submitFunction()" >

【讨论】:

    【解决方案2】:

    您可以根据响应是对象还是数组来使用getquery 函数。

    $http.get(url,{params:{'item1':formData.input1,'item2':formData.input2,'item3':formData.input3}});

    这些数据将进入查询字符串。

    url?item1=data&amp;item2=data&amp;item3=data

    【讨论】:

      【解决方案3】:

      您可以尝试使用$http.get(url,{value1: your.form.input}) 让 http 获取您的自定义值!

      【讨论】:

        猜你喜欢
        • 2018-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-29
        • 2012-03-09
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多