にあるWeb.APIアプリから提供されているページがありますhttp://server/application
。クライアント側では、サーバーからいくつかのデータをプルするためにGETを実行しています。問題は、私が思っていたことがうまくいかないことです。
このコードは機能します:
$.ajax( {
url: "api/slideid/getdirectories/",
dataType: 'json',
success: function ( data ) {
setPaths( data );
}
} );
しかし、これはしません:
$.getJSON( "api/slideid/getdirectories/",
function ( data ) {
setPaths( data );
} );
最初の例では、フィドラーでデータを取得しようとしているURLがであることがわかりhttp://server/application/api/slideid/getdirectories
ます。これは正しいです。
第二に、それはhttp://server/api/slideid/getdirectories
正しくありません。json GETのこれら2つの方法は同じだと思っていましたが、そうではないようです。
興味深いことに、これらのメソッドは両方とも私のローカル開発ボックスで機能します。一方が機能し、もう一方が機能しないのはステージングサーバーのみです。IISの設定は、私が知る限り同じです-そして私はチェックするのにかなり良い掘り下げました。
それで、jQueryのドキュメントでgetJSONが.ajax呼び出しの省略形であると述べられているのに 、なぜgetJSONが機能しないのか疑問に思っています。
編集:私はgetJSONの明示的なバージョンを入れて、それらが非常に類似した呼び出しであることを示すことを望んでいましたが、「実際の」getJSON呼び出しがそこにあります。