これはStackoverflowに関する私の最初の投稿ですが、何年にもわたって私は頻繁に訪問しています!
ASPで記述された社内の欠陥追跡アプリケーションがあります。関連するすべてのラリーユーザーストーリー情報をサイトの「仕様」セクションにコピーする手動プロセスがあります。JQueryとJSONを使用して、この情報をサイトに動的に表示しようとしています。ASPページで機能させる前に、XAMPPを使用してローカルマシンでテストしています。
JQueryを介してAPIにアクセスしようとすると、Access-Control-Allow-Origin例外が発生します。ロードしようとしているページの例は次のとおりです:https ://rally1.rallydev.com/slm/webservice/1.26/project.js 。
コードは次のとおりです。
<script>
$(document).ready(function(){
$.getJSON("https://rally1.rallydev.com/slm/webservice/1.26/project.js",
function(data) {
$.each(data.QueryResult.Results, function(i, result) {
$("<option>").attr("value", result._refObjectName).text(result._refObjectName).appendTo("#dd_ItSel");
});
})
.success(function() {console.log("dd-It-success"); })
.error(function() { console.log("dd-It-error");})
.complete(function() { console.log("dd-It-complete"); })
;
});
</script>
これは、次のドロップダウンに読み込まれます。
<select name="projectSelect" id="dd_projSel"></select>
Rally APIドキュメントhttps://rally1.rallydev.com/slm/doc/webservice/rest_json.jspのこのページによると、この制限を回避するには、HTTPプロキシを使用するか、JSONPコールバック機能を使用する必要があります。Yahoo APIを自分のページ()に含めて、Rally APIサンプルページに表示されているコードの一部を使用してみましたが、これを機能させることができませんでした。
This page uses the YUI Connect method to submit an asyncrounous request against the JSON REST API. A JavaScript function is used in the request callback to render the object graph below.
var graphContainer = document.getElementById('graph');
var callbacks = {
success: function(response) {
drawGraph(document.getElementById('graph'), YAHOO.lang.JSON.parse(response.responseText));
},
failure: function() {
alert('JSON REST API request failed');
document.getElementById('graph').innerHTML = '';
}
};
YAHOO.util.Connect.asyncRequest('GET', 'https://rally1.rallydev.com/slm/webservice/1.27/project.js?workspace=https://rally1.rallydev.com/slm/webservice/1.27/workspace/620327365&query=&start=1&pagesize=20', callbacks);
また、ドキュメントに記載されているようにJSONP応答変数を含めようとしましたが、それを機能させることもできませんでした。
プロキシ方式またはJSONP方式のいずれかで成功した人はいますか?JSONPメソッドの方が使いやすいと思います。これは本当ですか?そうでない場合は、誰かがこの使用のためにHTTPプロキシを設定する方法に関するリソースに私を導くのを手伝ってもらえますか?
JSONPメソッドの方が簡単な場合、これを機能させるにはどうすればよいですか?誰かが共有できる実用的な例を持っていますか?
とても長くなってすみません-私が試していることと、どこから情報を入手しているのかを示す方がよいと思いました。
どうもありがとう!