【发布时间】:2016-01-02 04:09:10
【问题描述】:
我有一个也使用 webapi2 的 MVC 应用程序。 要调用 api 服务,我使用 jquery ajax,如下所示。
$.ajax({
url: GetBaseURL() + '/api/MyController/PutMethod',
type: 'put',
data: dataObject,
contentType: 'application/json',
timeout: AJAX_TIMEOUT,
success: function () {
self.CallOtherFunction();
});
而getbaseURL函数返回content.url("~") 虽然这种方法在某些页面上有效,但它会抛出“跨源请求被阻止:同源策略不允许读取http://api/MyController/PutMethod 的远程资源”错误。
我曾尝试在 cors 上进行谷歌搜索,但无法理解为什么我会遇到此错误,即使我在一个解决方案下同时使用 MVC 和 Webapi,并通过 Visual Studio 运行。
帮助表示赞赏。 谢谢。
【问题讨论】:
-
您是否已将 API 配置为允许跨域请求? This article 解释了如何设置它。
-
我不应该对代码进行任何更改,因为该项目已经启动并在生产中运行,没有任何问题。部署应用程序时似乎没有出现 CORS 错误。
标签: asp.net-mvc-4 cors asp.net-web-api2