0

次のコードがあります。CORS を有効にできません。助けてください。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 では許可されていません

4

1 に答える 1

0

ページ メソッドは、それらが定義されている同じページからのみ使用されることになっています。

別のページからデータを取得する必要がある場合は、 を調べることをお勧めしますAsp.Net Web api。または、ページから呼び出す単純なGeneric handler(.ashxファイル) を作成することもできます。ハンドラーは、Json データを逆シリアル化して処理し、必要な応答を返すことができます。汎用ハンドラーでは、必要なすべての http ヘッダーを指定できます。

于 2013-07-03T09:04:06.997 に答える