加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC4 WebAPI和Posting XML数据

发布时间:2020-12-15 23:10:05 所属栏目:asp.Net 来源:网络整理
导读:我没有一个新的webapi的技巧 – 我想通过一个post请求提交一个xml字符串,没有太多的运气. 前端正在使用jQuery: $(document = function () { $("#buttonTestAPI").click(function () { var d = " customercustomer_id1234/customer_id/customer"; $.ajax({ t
我没有一个新的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,这样做很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读