0

SurveyGizmo API で $resource サービスを使用しようとしています。
私のコード:

html :

<div ng-app="Survey">
<body>
<div ng-controller="SurveyCtrl">
    {{survey.data.title}}
</div>
</body>
</div>

私のスクリプト:

angular.module('Survey', ['ngResource']);

function SurveyCtrl($scope, $resource) {
    $scope.surveygizmo = $resource('https://restapi.surveygizmo.com/v3/survey/:id',
        {id: '@id'},
        {get:{method:'JSONP', params: {'user:pass':'xxx@xxxx:xxxx', q:'angularjs', callback:'JSON_CALLBACK'}, isArray:true}});

$scope.survey = $scope.surveygizmo.get({id:xxxx}, function(survey) {
        alert('this is ok');
    }, function(err){
        alert('request failed');
    });
}

試してみると、私のページに「リクエストが失敗しました」というアラートが表示されます。ページにjsonの結果はありませんが、firebugネットワークメニューで確認できます。
何か見逃してもいいですか?
カラオケ

4

2 に答える 2

1

私はこの質問が古いことを知っていますが、私は助けることができると思いました. 私は実際にSurveyGimzoで働いています。実際、JSONP、JSON、および XML をサポートしています。でも; JSONP を要求するには、URL でこれを指定する必要があります。サンプル URL を使用すると、次のようになります。

https://restapi.surveygizmo.com/v3/survey/:id.jsonp

get アクションの ngResource パラメータの一部として JSON_CALLBACK をリクエストすると、適切にラップされたオブジェクトが返されます。

私は SG REST API を使用してミニー AngularJS アプリをいじっています。私の github https://github.com/sfisherGizmo/ang-appをご覧ください。

これが、これに遭遇する可能性のある他の人にも役立つことを願っています。

于 2015-01-13T19:51:36.320 に答える
0

測量ギズモは JSONP をサポートしていません。Survey Gizmo でサポートされている HTTP メソッドは、PUT、POST、DELETE です。http://developer.surveygizmo.com/rest-api-documentation/methods/ を参照してください

または、サポートしている場合、API ドキュメントでそれを指定していません。

.getこれは、あなたがに変更したときに私が見るものです.query

Request URL:https://restapi.surveygizmo.com/v3/survey/xxxx
Request Method:OPTIONS
Status Code:200 OK

.get を使用すると、応答は次のようになります。

Request URL:https://restapi.surveygizmo.com/v3/survey/xxxx
Request Method:GET
Status Code:200 OK

ただし、応答は JSONP コールバックでラップされません。Firebug ネットワーク コンソールで応答を確認できますが、JSONP 応答ではないため、Angular ではラップを解除できません。

ngResource を使用した angularjs の例については、http: //jsfiddle.net/jhsousa/aQ4XX/ を確認してください

于 2013-06-11T05:58:46.537 に答える