我在这个问题上挣扎了2天...我有一个JavaScript数组(20,000K行和41列)。它最初是通过Ajax调用接受在JavaScript中,如下图所示,发送大的JavaScript数组到Web API
var dataArray = [];
var dataRequest = {};
dataRequest.SearchCondition = 'some value';
$.ajax({
type: "POST",
url: "api/GetData/ProcessRequest",
dataType: 'json',
cache: false,
async: true,
crossDomain: false,
data: dataRequest ,
success: function (response) {
dataArray = response;
},
error: function (xhr, textStatus, errorThrown) {
dataArray = null;
}
});
在应用中,用户将验证数据和发送回的Web API方法。
我想发送相同的数据(dataArray)到web api方法,但它失败。请参阅下面的代码,
选项1:(失败 - 请求未命中的网络API方法)
var dataArrayJsonStr = JSON.stringify(dataArray);
$.ajax({
type: "POST",
url: "api/SendData/ProcessRequest",
dataType: 'json',
data: {'dataValue':dataArrayJsonStr },
success: function (response) {
alert('success');
},
error: function (xhr, textStatus, errorThrown) {
alert(errorThrown)
}
});
在IE 8中,我得到“内存不足”异常弹出。 (我们大多数的应用用户仍然拥有IE 8)
在Chrome中,它崩溃了。
选项2尝试:(不知道如何读的值)
我试图通过XmllHttpRequest
var dataArrayJsonStr = JSON.stringify(dataArr);
var xmlRequest;
if (window.XMLHttpRequest) {
xmlRequest = new XMLHttpRequest();
}
xmlRequest.open("POST", "api/SendData/ProcessRequest", false);
xmlRequest.setRequestHeader('Content-Type', 'application/text');
xmlRequest.send("dataValue=" + dataArrayJsonStr);
使用Chrome发送相同值的Web API,我能够发布数据成功发布到Web API,我看到内容长度为'128180309'。但是,我没有看到价值。我如何获得Web API中的值?
请教我如何从javascript发送大数据到网页api。
感谢, Vim的
您能否提供我的代码示例或引用文章以小部分返回数据? – Vim 2015-02-05 19:06:32
我将搜索一篇文章,但更多的是逻辑,你从数组中获得长度然后 var numbers_object = object/1000(registres); 并执行每个响应或对于 我搜索一个示例或创建一个想法 – hfloresv 2015-02-05 19:29:19
在这种情况下,如何在Web API中接收数据并将它们设置为单个对象? – Vim 2015-02-05 20:57:39