使用AJAX POST请求向ASP.NET页面发送XML?

时间:2014-11-11 13:02:46

标签: c# asp.net ajax

我有一个像这样的AJAX请求:

$.ajax({
        type: "POST",
        contentType: "text/xml",
        dataType: "xml",
        url: "send.aspx",
        data:{xml:"<xml></xml>"}

    }).done(function(reply){
        console.log(reply);
    });

我没有在服务器端或客户端出错,但是当我尝试将输出写入控制台服务器端时,没有任何错误。我假设这是因为ASP将XML字符串视为实际的XML对象或类似的东西?

继承我的ASP代码:

protected void Page_Load(object sender, EventArgs e){
        System.Diagnostics.Debug.WriteLine(Request.Params["xml"]);   
    }

1 个答案:

答案 0 :(得分:0)

我最终这样做了:

 protected void Page_Load(object sender, EventArgs e)
    {

        Page.Response.ContentType = "text/xml";
        System.IO.StreamReader reader = new System.IO.StreamReader(Page.Request.InputStream);
        String xml = reader.ReadToEnd();
        String xmlData = HttpUtility.UrlDecode(xml);
        System.Diagnostics.Debug.WriteLine(xmlData);

    }

请注意,我使用HttpUtility.UrlDecode()将我的XML解码为可读字符串。感谢Abin Jaik代码。