2016-12-07 9 views
0

リクエストから応答を受け取ることはできますが、コードの.then()部分は起動しません。私は間違って何をしていますか?あなたはthe docsを見てみると

window.distance24Result = function(data){ alert(data.distance); }; 
$http.jsonp("http://www.distance24.org/route.jsonp?stops="+city+"|"+country,{data:'jsonp', 
jsonpCallbackParam: 'distance24Result' 
}) 
.then(function(data){console.log(data);}); 
+0

を使用したいサーバーからの応答を確認してください - あなたがサーバー側でエラーを持っている可能性があります。 – user2182349

+2

さらに、そのURLからHTML応答を受け取っている可能性があります。 –

+0

正しいです、それはHTMLです。どうやってJSONにするのですか? – adace1

答えて

0

、あなたは角度が正しい要求URLを使用するようにjsonpCallbackParamとしてjsonpに合格する必要があります。これはコールバック関数の名前ではなく、GETパラメータの名前です。また、パスはroute.jsonではなく、route.jsonpです。

$http.jsonp("http://www.distance24.org/route.json?stops="+city+"|"+country, { 
    jsonpCallbackParam: 'jsonp' 
}).then(function(data) { 
    console.log(data); 
    alert(data.distance); 
}); 

また、あなたはまた、角度v1.6の前に

$http.jsonp("http://www.distance24.org/route.json", { 
    params: {stops: city+"|"+country}, 
    jsonpCallbackParam: 'jsonp' 
}) 

を使用することができ、何jsonpCallbackParam設定値はありませんでした。代わりに、あなたは

$http.jsonp("http://www.distance24.org/route.json?jsonp=JSON_CALLBACK&stops="+city+"|"+country) 

または

$http.jsonp("http://www.distance24.org/route.json", {params: { 
    "stops": city+"|"+country, 
    "jsonp": "JSON_CALLBACK" 
}}) 
+0

両方の方法を試したところ、予期しないトークンは ':' – adace1

+0

です。ブラウザコンソールからあなたの要求を示すURLは何ですか? – Bergi

+0

http://www.distance24.org/route.json?stops=Beverly%20Hills,California|Auckland – adace1

関連する問題