1

AngularJS で JSONP リクエストを使用してデータを送信しようとしています。

$http({ method: 'jsonp', 
url: 'http://test.local/?callback=JSON_CALLBACK',  /// Add '?callback=JSON_CALLBACK'
data: JSON.stringify(request) })
.success(function (data, status, headers, config) { });

これは可能ですか?

4

2 に答える 2

9

はい、$http.jsonp 関数を見ることができます。要するに、次のようなことをする必要があります

$http.jsonp('http://www.example.com?callback=JSON_CALLBACK')
  .success (function(data, ...) {
    //your data here
    ...
  })

angular がその魔法を実行するには、http 呼び出しのクエリ パラメータとしてcallback=JSON_CALLBACKを設定する必要があることに注意してください。

リクエストとともにデータを送信するには、クエリ パラメータ (1)、リクエスト メッセージ データ (2)、またはその両方 (3) が必要かどうかによって異なります。

ケース 1 :

$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {params : Object | String})

ドキュメントによると、「url の後に ?key1=value1&key2=value2 に変換される文字列またはオブジェクトのマップ。値が文字列でない場合は、JSON 化されます。」

ケース 2 :

$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {data : Object | String})

ケース 3 :

$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {params : Object | String, data : Object | String})
于 2013-09-07T17:56:05.070 に答える