私はWCF Webアプリケーションを構築し、そのメソッドを有効なメソッドに公開しました
[OperationContract]
[WebGet]
string getStatistics();
[OperationContract]
[WebGet]
string getVenues(string BrandName, int limit);
構成ファイルを編集しました:
<endpoint address="json" binding="webHttpBinding" contract="foursquare2RDF.IVenue2rdf" behaviorConfiguration="restBehavior"/>
およびサービスの動作で:
<endpointBehaviors>
<behavior name="restBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
私はIISでサービスをホストしましたが、ブラウザからは非常にうまく機能するので、ヒットすると:
http://localhost:83/venue2rdf.svc/json/getStatistics
それは良い結果を返します
問題は、これらのエラーが表示される場合、この安らかなサービスを利用できないことです:
OPTIONS http://localhost:83/venue2rdf.svc/json/getStatistics?{'venues':'100'} 405 (Method Not Allowed)
XMLHttpRequest cannot load [http://localhost:83/venue2rdf.svc/json/getStatistics][1]. Origin null is not allowed by Access-Control-Allow-Origin.
私はそのコードを使用してサービスを呼び出しています:
$.ajax({
type: "get",
url: statisticsURL,
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
eval("var x = " + msg.d);
console.log(x);
}
});
これまでに到達したもの:
- 同様の質問に記載されているように $.ajax を $.getjson に置き換えてみましたが、エラー 405 が削除され、2 番目のエラーが表示されます
- Ajax 対応の WCF サービス プロジェクトと呼ばれるものを見つけましたが、それでも新しいプロジェクトに移行したくありません
- 私は同様の質問があることを知っていますが、すべてが適合せず、私の別のエラーを示しています