带有XML数据的HTTP POST请求

时间:2014-02-05 10:15:56

标签: javascript jquery http

我希望使用XML有效负载制作HTTP POST请求。

我看过这个文档: http://api.jquery.com/jquery.post/

此处参数data我相信我应该感兴趣。

但是,我不清楚如何指定此data参数的格式。在我之前的大部分经验中,此参数为application/x-www-form-urlencoded

但是,我的请求有一个XML有效负载。

任何指针?

2 个答案:

答案 0 :(得分:2)

$.post是一个简写函数,涵盖了一些常见的用例,但有一些不可更改的默认值。请改用the $.ajax method。它允许您设置请求的内容类型。

contentType (default: 'application/x-www-form-urlencoded; charset=UTF-8')
     

类型:字符串

     

将数据发送到服务器时,请使用此内容类型。默认是   "application/x-www-form-urlencoded; charset=UTF-8",这很好   大多数情况下。如果您明确地将内容类型传递给$.ajax(),那么   它总是被发送到服务器(即使没有数据发送)。 W3C   XMLHttpRequest规范规定charset始终是   UTF-8;指定另一个charset不会强制浏览器更改   编码。

答案 1 :(得分:2)

您可以将XML数据发布为

$.ajax({
url: ajaxurl,
data: "<test><node1></node1></test>", 
type: 'POST',
contentType: "text/xml",
dataType: "text",
success : parse,
error : function (xhr, ajaxOptions, thrownError){  
    console.log(xhr.status);          
    console.log(thrownError);
} });