1

「name」プロパティに ajaxを追加する<br />と ajax がコード ビハインドに投稿されないのに、追加しないと正常に動作するのはなぜですか?

以下の JSON 配列は、次のように自動生成されます。

//        var tableOBJ = [];
//
//
//        $("table tr").each(function () {
//
//            var r = new rowOBJ(

//                $(this).find('td').eq(0).val(),
//                $(this).find('td').eq(1).text()
//                                   
//                                    );
//
//            tableOBJ.push(r);
//
//        });



var myJS = 
[
{"name":"d <br />","surname":"cxzc"},
{"name":"d ","surname":"cxzc"},
{"name":"d ","surname":"cxzc"},
{"name":"d ","surname":"cxzc"},
{"name":"d ","surname":"cxzc"}
];


 var gg = { "myText": JSON.stringify(myJS) };

 //var gg = JSON.stringify({ "myText": myJS }); //this does not work either, code-behind does not see it at all






        $.ajax({
            type: "POST",
            url: "send.aspx",
            data: gg,
            success: function (data) {
                //pass

            },
            error: function () {
                //fail

            }
        });

    });
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim s As String = HttpContext.Current.Request.Form("myText")

End Sub
4

2 に答える 2

2

そのタイプのリクエストを許可するには、html をエンコードするか、構成を変更する必要があります。Asp.net は、セキュリティ対策として、リクエストで html が受け入れられないようにしています。

MSDN

<ConfigurationPropertyAttribute("validateRequest", DefaultValue := True)> _
于 2012-08-10T19:55:32.693 に答える
0

$.ajax メソッドは、インテリジェントな推測を行って HTML データを送信していると考えています。したがって、追加すると

dataType:'json' 

ajax呼び出しのパラメーターのリストに追加すると、問題が解決するはずです。

于 2012-08-10T19:56:24.510 に答える