【发布时间】:2016-04-20 06:59:50
【问题描述】:
我在 Visual Studio 2013 中创建了一个 web.api 解决方案。预计跨域问题我安装了 WebApiContrib.Formatting.Jsonp Nuget 包。我在从 jquery 调用 web.api 服务的解决方案中创建了一个 Web 应用程序。通常我的 ajax 请求如下所示:
var request = $.ajax({
url: uri + '/api/events/',
type: 'GET',
dataType: 'jsonp',
crossDomain: true
});
我最初在 Windows 7 中启动该项目,最近升级到 Windows 10。这一切在 VS 2013/IIS Express 中本地运行良好 - web.api 将事件的 json 数组返回到调用脚本。我还将 web.api 项目发布到在 IIS 10 下运行的本地网站,那里一切都很好。
所以我将 web.api 部署到开发服务器 - 运行 IIS 8.5 的 Windows Server 2012 R2。当我请求 http://devservername/api/events/ 时出现错误:请求 URI 中未提供回调参数
Error Image - A callback parameter was not provided in the request URI
开发服务器运行asp.net 4.5。我担心我无法在本地处理回调参数,但此技术在目标服务器上失败。或者更糟的是,这是一个部署/配置问题。谁能在这里推荐一个最好的方法?
谢谢。
【问题讨论】:
-
您是否检查了控制台以确认请求 URI 中包含回调参数?
-
我没有尝试直接从 Internet Explorer 调用 web.api 方法时发生错误。在请求中附加 ?callback=something 确实提供了一些有用的反馈。
标签: jquery ajax asp.net-web-api jsonp