2013-11-03 32 views
0

目前,我用普通的JS送它:如何使用JQuery.ajax发送大量数据,并与C#收到

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现在只返回字符串“[对象对象]”。

如何从C#中的“transferXML”读取数据?或者,我需要在$ .Ajax调用中更改哪些内容?

回答

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'

+1

浏览器控制台显示错误: 无法加载资源:服务器按照500的状态(回应内部服务器错误)http:// localhost:59335/game02/interaction/TradeTransfer.aspx?action = trade&commNodeId = 5 类型:“POST” 肯定是需要的,否则数据将作为参数放入url中。但关于“失败资源”的错误仍然存​​在...... –

+0

由于错误消息意味着这是服务器错误。它与您的JavaScript代码无关。是的,在你的案例中需要输入'POST',我只是使用了文档中的示例。 –

+0

部分正确,但为了工作,我需要额外的: contentType:“xml” 在ajax调用中。 添加到你的答案,我会接受它。 –

相关问题