Ajax 跨域小部件请求
我目前正在尝试创建一个widget服务器,它将为widget(duh)提供服务,可以与googlemaps进行比较。加载小部件后,如果需要,我需要进行额外调用以获取更多数据。Ajax 跨域小部件请求,ajax,asp.net-mvc,widget,cross-domain,Ajax,Asp.net Mvc,Widget,Cross Domain,我目前正在尝试创建一个widget服务器,它将为widget(duh)提供服务,可以与googlemaps进行比较。加载小部件后,如果需要,我需要进行额外调用以获取更多数据。 由于我是通过ajax调用而不是iframe加载小部件(出于样式方面的考虑),所以我正在进行跨域调用。 我的问题很简单:我应该如何处理 我阅读了有关CORS的内容,并尝试用一个附加标题修改我的ajax响应: Response.AppendHeader("Access-Control-Allow-Origin", "*");
由于我是通过ajax调用而不是iframe加载小部件(出于样式方面的考虑),所以我正在进行跨域调用。
我的问题很简单:我应该如何处理 我阅读了有关CORS的内容,并尝试用一个附加标题修改我的ajax响应:
Response.AppendHeader("Access-Control-Allow-Origin", "*");
但他甚至没有达到那一行,我的mvc项目返回一个空结果,状态代码为404,状态为“Error”。起初,他做了一个选项调用,因为我有内容类型application/json,但即使是text/plain也无法到达我的服务器。
我是否遵循了正确的方法?我应该将数据嵌入为jsonp吗?
请随意分享您的见解。
加载小部件的代码:
$.ajax(
{
type: "GET",
contentType: "text/plain",
url: 'http://someotherdomain/widget/1',
crossDomain: true,
dataType: "json",
success:function(data) {
$('#targetDiv').html(data.htmlContent);
},
error: function(data) {
alert('error...');
}
});
您尝试过jsonp而不是json数据类型吗?切换到jsonp会导致相同的行为。我猜我应该把我的回答用脚本标签或其他东西包装起来,所以我不确定我是否想去那里。我更喜欢CORS方法。