Visual Studio 2012 を使用しています。ODataService という名前の空の Web アプリケーション プロジェクトを 1 つ作成し、SQL Server Compact 4.0 ローカル データベースを 1 つ追加してから、ローカル データベースにマップされた ADO.NET Entity Data Model を 1 つ追加しました。エンティティ モデルを使用する WCF データ サービスが 1 つ追加されました。これらはすべて、1 つのプロジェクト、つまり ODataService の下にあります。これを作成した後、ブラウザからデータを簡単にクエリできます。
i.e. http://localhost:52964/EmployeeService.svc/Employees()?$filter=ID gt 3
これで、ODataService プロジェクトがある同じソリューションの下に 1 つの MVC3 アプリケーションを追加しました。その MVC3 プロジェクトでは、jquery を使用して odata を使用するために、Index.cshtml で次のようにコーディングしました。
<script type="text/javascript">
$(document).ready(function () {
var qry = "http://localhost:52964/EmployeeService.svc/Employees?$filter=ID gt 3&$callback=callback&$format=json";
var qry2 = "http://odata.netflix.com/v2/Catalog/Titles?$filter=ReleaseYear gt 2012&AverageRating gt 4&$callback=callback&$format=json";
$('#loadData').click(function () {
$('#loadingText').text('loading data...');
$.ajax({
dataType: "jsonp",
url: qry,
jsonpCallback: "callback",
success: callback,
error: function (jqXHR, textStatus, errorThrown) {
debugger;
}
});
});
function callback(result) {
debugger;
}
});
qry2 を使用している場合、コードは正常に実行されていますが、qry を使用している場合、デバッガーがエラー セクションにヒットし、「parsererror」-「callback was not called」が表示されます。
どんな種類の助けも大歓迎です。