我在给出外部URL获取结果时在jquery ajax调用中收到错误。网址是mvc Dot net
var url = "http://demo.bucesoft.com/BUCESFTDETAILS/insertrecrd";
$.ajax({
url: url,
contentType: "application/json; charset=utf-8",
datatype: "json",
data: "{'obj':'" + Senddetails + "'}",
type: "POST", // 'GET' or 'POST' ('GET' is the default)
success: function (data) {
alert('sucess');
console.log(data);
},
error: function (xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
在这我得到错误
XMLHttpRequest cannot load http://demo.bucesoft.com/BUCESFTDETAILS/insertrecrd. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
请帮帮我
答案 0 :(得分:0)
您必须启用CORS才能启用跨域请求。
要启用CORS支持,请将Microsoft.AspNet.WebApi.Cors NuGet包添加到项目中。
将此代码添加到您的配置中:
public static void Register(HttpConfiguration config)
{
// New code config.EnableCors();
}
要启用跨源请求,请将[EnableCors]属性添加到Web API控制器或控制器方法中:
[EnableCors(origins: "http://example.com", headers: "*", methods: "*")]
public class TestController : ApiController
{
// Controller methods not shown...
}
在PHP中,您可以通过设置自定义标题来实现,如下所示。
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding");
您还可以通过定义
等名称来启用该特定网站header("Access-Control-Allow-Origin: http://yourdomainname.com/");