我正在使用 Visual Studio 2012。我创建了一个名为 ODataService 的空 Web 应用程序项目,并添加了一个 SQL Server Compact 4.0 本地数据库,然后添加了一个与本地数据库映射的 ADO.NET 实体数据模型。现在添加了一个使用实体模型的 WCF 数据服务。所有这些都在一个单独的项目下,即 ODataService。创建后,我可以轻松地从浏览器查询数据:
i.e. http://localhost:52964/EmployeeService.svc/Employees()?$filter=ID gt 3
现在,我在拥有 ODataService 项目的同一解决方案下添加了一个 MVC3 应用程序。在那个 MVC3 项目中,我在 Index.cshtml 中编写了以下代码,以使用 jquery 使用 odata:
<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”。
任何形式的帮助表示赞赏。