【发布时间】:2013-10-23 16:30:21
【问题描述】:
我正在尝试操作两台服务器。
- MVC Web API 服务。
- MVC Web 应用程序。
这个想法是 Web 应用程序呈现一个充满 javascript 请求的页面,这些请求填充来自远程 API 服务的实际数据。 Web 应用程序本身永远不会接触数据库或 API 服务(除了最初设置授权令牌)。
实现这一目标的最佳方法是什么?
到目前为止,我一直在使用 JQuery AJAX 请求,尝试使用 JSONP。但是我总是得到“x 未被调用”异常。
$.ajax({
url: '@(ViewBag.API)api/customer',
type: 'get',
dataType: 'jsonp',
jsonp: false,
jsonpCallback: function (data) {
debugger;
// code to load to ko
},
error: function (xhr, status, error) {
alert(error.message);
}
});
还在发送请求之前调用jsonpCallback 函数,所以我假设它实际上是在尝试调用函数来生成字符串?如果我修改这个请求:
window.success = function (data) {
debugger;
// code to load to ko
};
... jsonpCallback 为“成功”,我仍然得到同样的错误(但成功方法从未被调用。
有什么想法吗?谢谢。
编辑:我从此开始了正确的课程:
http://www.codeproject.com/Tips/631685/JSONP-in-ASP-NET-Web-API-Quick-Get-Started
添加了格式化程序,并将 jsonCallback 替换为成功,就像普通的 ajax 一样。然而,这似乎只适用于get。我不能delete 或update。 :(
【问题讨论】:
标签: javascript jquery ajax asp.net-mvc asp.net-web-api