我正在尝试操作两台服务器。
- 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
。:(