当我托管Data.ashx(本地此应用程序)时,此代码不起作用。如果我在本地使用url Data.ashx,它可以正常工作。
jQuery.ajax({
type : "GET",
url: "http://aspspider.ws/ghadyAlhamad/Data.ashx",
data: "{ 'MethodName': 'GetData' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success : function(data){
$('#display').html("<h1> Hi, " + data.FirstName + " " + data.LastName + " your Blog Address is http://" + data.Blog + "</h1>");
},
error: function (err, e, m) {
alert("error= " + e);
}
});
答案 0 :(得分:0)
如果该应用是在本地托管的,并且您向http://aspspider.ws发出了http请求,那么您将面临相同的原始政策限制(http://en.wikipedia.org/wiki/Same-origin_policy)。
尝试使用相对网址,例如url: "ghadyAlhamad/Data.ashx",
而不是url: "http://aspspider.ws/ghadyAlhamad/Data.ashx",
答案 1 :(得分:0)
我通过在ashx文件中添加标题解决了这个问题,如下所示:
context.Response.AddHeader("Pragma", "no-cache");
context.Response.AddHeader("Cache-Control", "private, no-cache");
context.Response.AddHeader("Access-Control-Allow-Headers", "X-File-Name,X-File-Type,X-File-Size");
context.Response.AddHeader("Access-Control-Allow-Origin", "*");
或web.config: