ASP.NET MVC4 WebAPI和Posting XML数据

前端之家收集整理的这篇文章主要介绍了ASP.NET MVC4 WebAPI和Posting XML数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我没有一个新的webapi的技巧 – 我想通过一个post请求提交一个xml字符串,没有太多的运气.

前端正在使用jQuery:

$(document = function () {
    $("#buttonTestAPI").click(function () {

        var d = " <customer><customer_id>1234</customer_id></customer>";
        $.ajax({
            type: 'POST',contentType: "text/xml",url: "@Url.Content("~/api/Customer/")",data: d,success: function (result) {
                var str = result;
                $("#output").html(str);
            }
        });
    });
});

我的控制器目前很简单 – 只是默认的后期操作 – 试图返回传递的内容

public string Post(string value)
    {
        return value;
    }

但是,“值”反复为null.奇怪的是,当我将jQuery中的数据更改为这样的时候:

d = "<customer_id>1234</customer_id>";

然后我在控制器中获得“值”为1234.

我如何访问我的控制器中更复杂的xml字符串?

解决方法

以下将允许您通过POST到Web API方法读取原始XML消息:
public void PostRawXMLMessage(HttpRequestMessage request)
{
   var xmlDoc = new XmlDocument();
   xmlDoc.Load(request.Content.ReadAsStreamAsync().Result);   
}

您可以调试和检查正文,标题等,并会看到原始的XML发布.我使用Fiddler的作曲家做一个HTTP POST,这样做很好.

原文链接:https://www.f2er.com/aspnet/249996.html

猜你在找的asp.Net相关文章