我有以下代码。它无法启用CORS.Please帮助。我无法在aspx页面上的Web方法中启用CORS:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.AppendHeader("Access-Control-Allow-Origin", "*");
Response.AppendHeader("access-control-allow-headers", "content-type");
}
[WebMethod]
[ScriptMethod]
public static string Get(string data)
{
System.Web.HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");
System.Web.HttpContext.Current.Response.AppendHeader("access-control-allow-headers", "content-type");
return data + " 123";
}
}
// Java Script
function GetData() {
window.jQuery.support.cors = true;
window.jQuery.ajax({
url: 'http://generalservices.prop.preview.gearhost.com//Default.aspx/Get',
contentType: "application/json; charset=utf-8",
dataType: "json",
type: 'post',
data: "{ data : '12'}",
success: function (d) {
},
error: function (d) {
}
});
错误:在Access-Control-Allow-Origin中不允许
答案 0 :(得分:0)
页面方法应该仅在定义它们的同一页面中使用。
如果您需要从不同的网页获取数据,我建议您查看Asp.Net Web api
。或者您甚至可以创建一个简单的Generic handler
(.ashx
文件),您可以从该页面调用该文件。处理程序可以反序列化Json数据,处理它并返回所需的响应。在通用处理程序中,您可以指定所需的任何/所有http标头。