2016-12-27 4 views
0

私のjsonpコードは何らかの理由で角度を使って動作していません!何千もの例を読んだことがありますが、それは単に機能しません。以下の私のコードを見てください。angle 1.5 jsonpコードコールが成功メソッドを打つことはありません

私はこの質問を読んで、それはAngularjs JSONP not working

私のコード例は、定義された成功とエラーの方法とhttp.jsonp呼び出しを示し私の問題を解決していません。私はChromeを使用して開発しています.2番目と3番目の画像はajaxサービスコールとサービスからのjsonp応答を示しています。

最新の更新

@TheSharpieOneからの助けを受けた後、サーバーの応答は現在、(代わりに以前の問題だった文字列の)実際の関数を返すが、成功の方法は、何らかの理由で実行されていませんか?

$http.jsonp(url).then(function(response) { 
     alert('success'); // not hit 
    }, function onError(response) { 
     alert('error'); // this is displayed 
    }); 

多くのおかげで、

角度JS

var url = serviceRoot + "api/customer/get?callback=JSON_CALLBACK"; 

$http.jsonp(url).success(function (data) { 
    alert('success'); // never called 
}) 
.error(function() { 
    alert('error');  
}); 

クロームネットワークパネル

Shows chrome network panel, highlighting the ajax call

Ajaxのレスポンスが

shows ajax response (an array of dates)

+0

コンソールには何が表示されますか? – Quentin

+0

なぜCORSがあるときにJSONPを使って新しいAPIを書いていますか? – Quentin

+0

コンソールウィンドウは空です。エラーはありません。ところで、CORSって何?ありがとう、 – Martin

答えて

0

あなたのJSONP応答が引用されて、それはすべきではありません。それはあなたのコールバック関数を呼び出すスクリプトを実行すると思われます。今は単なる文字列であり、パラメータを持つJavaScript関数呼び出しではありません。

JSONPは、新しい<script>タグをURLにリンクするページにドロップすることで動作します。実行すると、あなたのコールバックを呼び出すことになっています。したがって、JSONPのレスポンスはJavaScriptであり、文字列ではありません。

+0

これはありがとう、それは私として今働くようです何か理由のために、成功は必ずしも当てはまるとは限りません。既知の問題があるのか​​、間違っているのですか、私はv1.5.0-rcを使用しています。 .2。コンソールウィンドウを開いて、キャッシュを無効にしてテストしています。ところで、完了すると、ページにはjsonpを使用してさまざまなサービスへの複数の呼び出しがあります – Martin

関連する問題