我在我的mvc应用程序中有一个api控制器,我试图将数据发布到api,但我遇到了问题ASP.NET Web API中的跨域请求。这是我的错误ASP.NET Web API中的跨域请求
XMLHttpRequest无法加载http://192.168.0.44:100/api/name。对预检请求的响应不会通过访问控制检查:请求的资源上不存在“访问控制 - 允许来源”标头。因此'Origin'http://localhost:53114'不允许访问。响应有HTTP状态代码405
我已经安装在的ASP.NET Web API 跨域请求2
我API代码
namespace Restaurant.Controllers{
[EnableCors(origins: "http://192.168.0.44:100", headers: "*", methods: "get,post")]
public class OrderController : ApiController
{
public Test Post(string name,int age)
{
Test test = new Test()
{
Name=name,
Age=age
};
db.test.Add(test);
db.SaveChanges();
return test;
}}
WebApiConfig
public static void Register(HttpConfiguration config)
{
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
config.Formatters.Add(new BrowserJsonFormatter());
}
查看
<script type ="text/javascript">
function add() {
var DatatTest = {
name: $("#txtname").val(),
age: $("#txtage").val()
};
$.ajax({
url: 'http://192.168.0.44:100/api/name',
type: 'Post',
data: JSON.stringify(DatatTest),
contentType: "application/json; charset=utf-8",
success: function (data) {
alert("ok");},
error: function (x, y, z) {
alert("error");}
});
}
</script>
的web.config
现在我得到这个错误
的XMLHttpRequest无法加载http://192.168.0.44:100/api/Order。对预检请求的响应不会通过访问控制检查:请求的资源上不存在“访问控制 - 允许来源”标头。因此'Origin'http://localhost:53114'不允许访问。该响应具有HTTP状态码500.
我的错误在哪里?
我希望我已经做到了。可我使用IP的起源是什么? – shamnad
尝试*,看看是否有效 –
我已经尝试过,但仍然有错误 – shamnad