それで、私は(実際に私たち全員がそうしています)Telerik Kendo UI によるこのクールな WCF Odata サービスを持っています。これは、テスト目的では非常に少数です。
javascriptから呼び出して、結果をアラートとして表示したいと思います。だから、私のコードは次のとおりです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
function button(src1) {
$.getJSON('http://demos.kendoui.com/service/Northwind.svc/Tasks(4)/Start?$format=json',
function(json) {
alert(json.d.Start);
});
}
</script>
</head>
<body>
<form id="form1">
<div><input type="button" onclick="javascript:button();" value="Call WCF Service" /></div>
</form>
</body>
</html>
しかし、それでも Google Chrome コンソールでは、「Origin null は Access-Control-Allow-Origin では許可されていません」というメッセージが表示されます。なんでそうなの?
UPD:奇妙なことは、このコードをどこかのstackoverflowで見つけましたが、私の代わりにこの呼び出しを使用していることです:
$.getJSON('http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=?&minx=-30&miny=0&maxx=0&maxy=150',
function(json) {
alert(json.photos[1].photoUrl);
});
そして、これは機能します。なぜ剣道はしないのですか?