3

自分のサービスに angular $http サービスを使用できません。JSON 変換には YQL を使用する必要があります。$http は jquery $.ajax に似ていませんか? これが私のコードです:

    function cfgFunction($routeProvider)
{
    $routeProvider.
        when("/",{templateUrl:"partials/table.html"})
}

function testctrl($scope, $http) {
    var s = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20%22http%3A%2F%2Fapp.mytrading.it%3A8080%2FTS%2Fvis_dati.AllQuotes%3Fp_profilo%3D%26p_indice%3D%26p_id_cliente%3D%26p_nazione%3D%26p_num%3D%26p_titolo%3D%22&format=json&callback=';
  $http.get(s).success(function(data) {
      $scope.titoli = data.query.results.ROWSET.ROW;
  }).
  error(function(data, status, headers, config) {
    alert("error!")
    });
}
angular.module('MytApp',[]).config(cfgFunction);
4

2 に答える 2

6

私の意見では、jsonp を使用する必要があります。

$http.jsonp(url).success(...);

また、callback=JSON_CALLBACKをクエリに追加することを忘れないでください。

jsFiddle でYQLを使用した実際の例があります。

http は非同期であるため、それを処理するには 2 つのオプションがあります。

  • $q を使用して promise を返す
  • コールバック関数を使用して

両方を例に示します。

于 2012-12-23T18:17:13.833 に答える
0

リモートドメインにリクエストを送信しているため、 $http.jsonp(url,config) を試してください。

于 2012-12-23T17:50:01.757 に答える