如何使用JQuery.ajax发送大数据并使用C#接收它

时间:2013-11-03 11:12:46

标签: c# jquery ajax

目前我发送简单的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调用中更改什么?

1 个答案:

答案 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-TypecontentType: 'text/xml'