2017-02-11 62 views
0

在幾個地方被問及有關這個問題的變化,並在谷歌上閱讀了所有的東西,所以我相當肯定這不能完成。但是我想我最後一次會問這裏。Angular - 在獲取http後輸入多個文本輸入url

我想追加一個GET $ HTTP URL與一些文本輸入參數。

例如

日期1的TextInput,天,月,年, +00 + ' - ' 日期2的TextInput,日,月,年, +00 + ' - '

= 1101201700-2101201700

這是我到目前爲止的代碼,它的工作原理是將任何我輸入的url添加到url中,但只要我添加另一個輸入字段,它就會失敗,說第二個輸入未定義。

任何想法?要保持它的簡單太理想......

.controller("DateCtrl", function ($scope, $stateParams, dateService) { 
$scope.events = dateService.getEvents($stateParams.date).then(function (events) { 
    $scope.events = events; 
    console.log("Date Controller1 says: Hello World - I also work"); 

}); 

工廠....

 .factory('dateService', function ($http) { 
    var events = []; 

    return { 
     getEvents: function (date, date2) { 
      var params = { 
       date:date, 
       date2:date2 
      } 


      return $http.get('url' + "&" + params.date + "-" + params.date2).then(function (response) { 
       events = response.data.events; 
       return response.data.events; 
      }); 
     }, 

狀態...

.state('date', { 
    url: "/date/:date/:date2", 
    templateUrl: "templates/Date.html", 
    controller: "DateCtrl" 
}) 

HTML ...

 <input type="text" placeholder="bla1" class="form-control" ng-model="date"/> 
<input type="text" placeholder="bla1" class="form-control" ng-model="date2" /> 

<a ui-sref="date({date:date,date2:date2})">Go</a> 

編輯:

我想調用的網址是外部網址,而不是應用內的網頁。

這是接近$http.get with 2 parameter in ionic framework (angularjs)

但我不知道我與控制器做,因爲在我的代碼我不得不範圍PARAM。

編輯2:

這個現在工作只是date2的是顯示爲在URL字符串「未定義」 ......

回答

0

如果我理解你的問題正確,要執行一個GET請求,並有有多個參數傳入您的請求。這可以通過以下形式進行:

$http.get('yoururl/:param1/:param2') 

可以疊加PARAMS使用語法(只要URL不超過2000個字),但你需要確保有一個「/」來除去你傳入的每個參數,否則它會回到未定義狀態。如果你想,因爲你不會一致地傳遞相同量則params的曖昧數傳,你可以有一個PARAM及用途:

JSON.stringify(object) 

在隨後可以在分析的目的在於傳遞另一面來查詢。

編輯:

上面的代碼是用於定義你的路由。你要找的東西與我的回答有點不同。您需要的是定義網址的方式,因爲您正在調用它。

請嘗試以下格式:

var params = { 
    date1: 'value1', 
    date2: 'value2 
} 

$http.get('yoururl/' + params.date1 + '/' + params.date2) 

這將插入對象的值到URL。

+0

AHH!我嘗試了堆疊,但沒有包含「/」我會試試看 - 謝謝! – Kyle

+0

這不起作用。它正在做同樣的錯誤,我遇到了幾次這個想法的變化 - 它包括文本「date1」「date2」,但不是輸入到該字段中的文本。 – Kyle

+0

GET請求不會將數據放在單獨的參數中 - 它們在URL請求中應該是筆直的。除非urlr正在做我不知道的事情,你用逗號傳遞參數的方式,然後是一個對象的方式是POST的格式。您需要按照上面的方式格式化您的GET,它們位於請求的url字符串內。 –

相關問題