发送xml原始数据始终为null

时间:2015-10-13 20:59:33

标签: ajax asp.net-web-api

我正在努力将xml原始数据发布到我的webapi控制器,控制器端的传递值始终为null ....

这是我的代码:

请求

Query.support.cors = true;
        $.ajax({
            type: "POST",
            url: axForm.EndPoint + "api/items/PostXmlData",
            contentType: "application/xml",
            data: {xmlData: axForm.QvXmlForm},
            async: false,
            success: function (response) { 
                $('#tab1').append(response);
            },
            error: function (xhr, ajaxOptions, thrownError) { 
                //alert(xhr.responseText); 
            }
        }); 

    }
  • webapi方法

    [ActionName("PostXmlData")]
    [System.Web.Http.AcceptVerbs("POST")]
    [System.Web.Http.HttpPost]
    public IHttpActionResult PostXmlData([FromBody]string xmlData)
    {
        ...
    }
    
  • 发送xml数据:

  

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 对于这个ajax调用,我只使用一个简单类型而不是复杂类型。 以下链接帮助了我:

http://www.asp.net/web-api/overview/advanced/sending-html-form-data,-part-1

在处理简单类型时,ajax调用的数据部分必须类似:

data: {"": axForm.QvXmlForm}

我感谢你的帮助。

帕特里克