0

目前我用普通的 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 调用中进行哪些更改?

4

1 回答 1

2

$.ajax文档有一个示例:

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'

于 2013-11-03T11:25:37.150 回答