我正在尝试操作两台服务器。
这个想法是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
。 :(
答案 0 :(得分:0)
你能用$ .getJSON方法让它工作吗?
$.getJSON( "ajax/test.json", function( data ) {
//handle response
});
您是否在IE中启动了开发人员工具并观察了网络流量,以确切了解发送和返回的内容?