2013-05-08 81 views
2

我需要將大量數據傳遞給控制器​​。我已使用XmlHttpRequest。 我寫的代碼,如:如何使用XmlHttpRequest通過ajax調用傳遞大量數據

var xmlhttp; 
if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
} 
else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange = function() { 
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("myDiv").innerHTML = xmlhttp.responseText; 
} 
} 
xmlhttp.open("POST", "/Home/Content", true); 
xmlhttp.send("content=" + data); 

而且ActionResult看起來像

[HttpPost] 
public ActionResult(string content) 
{ 
     return Json("suc", JsonRequestBehavior.AllowGet); 
} 

的數據會像

UklGRipkAABXRUJQVlA4[...huge piece of data...]kxgTrTkKyKe6xap+GYnY93Kj 

但它不傳遞給控制器​​。這表明數據太長。我怎樣才能擺脫這一點?

+4

你爲什麼以查詢參數發送數據。您正在使用後發送數據作爲POST而不是查詢參數。 – NullPointerException 2013-05-08 13:48:05

回答

1

發送數據在POST體,通過將其作爲參數傳遞給send

xmlhttp.open("POST", "/Home/Content", true); 
xmlhttp.send("content=" + data); 

然後,在服務器上,讀出的POST數據的content參數。

+0

我試過這個,但它沒有傳遞給控制器​​。我已經更新了我的問題,請參閱。 – Jonathan 2013-05-09 04:20:45

相關問題