目前我发送简单的JS:
xhttp.open("POST", "interaction/TradeTransfer.aspx?action=transfer", false);
xhttp.send(transferXML);
在C#中,我正在评估url参数,然后使用:
读取数据StreamReader reader3 = new StreamReader(Request.InputStream);
string transferXML = reader3.ReadToEnd();
我想从普通的JS改为JQuery:
$.ajax({
url: "interaction/TradeTransfer.aspx?action=trade&Id=" + caller.id.toString(),
type: "POST",
data: { value : transferXML },
dataType: "xml",
processData: false,
success: function (data, textStatus, jqXHR) {
//data - response from server
console.log(" createTradeOffer success");
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(" createTradeOffer error");
}
});
C#StreamReader现在只返回字符串“[object Object]”。
如何在C#中读取“transferXML”中的数据?或者我必须在$ .Ajax调用中更改什么?
答案 0 :(得分:2)
$.ajax
documentation有一个例子:
var xmlDocument = [create xml document];
var xmlRequest = $.ajax({
url: "page.php",
processData: false,
data: xmlDocument
});
您必须将data: { value : transferXML }
更改为data: transferXML
。
正如您所指出的那样,可能还需要指定请求邮件正文的Content-Type
:contentType: 'text/xml'