2
我正在開發一個ASP.NET MVC應用程序,其中我需要將存儲在sessionStorage中的數據發送到Controller。該存儲器具有鍵值對,其中密鑰是「確認的」。該值是一個包含數字的數組,如[1,2,3,4,5]。使用ajax發送大字符串到控制器
我需要發送這個數組到我的控制器,並且一切正常,除非這個數組太長。我試着改變配置有:
<appSettings>
<add key="aspnet:MaxJsonDeserializerMembers" value="1000000" />
</appSettings>
和
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="1000000" />
</webServices>
</scripting>
</system.web.extensions>
,但似乎沒有任何工作。只有當數組不長時才能正常工作。 這裏是我的代碼:
腳本:
$(".enviar").click(function() {
getSelectedItems();
var seleccion = sessionStorage.confirmed;
$.ajax({
url: "/Controller/Action",
type: "POST",
//data: { confirm: JSON.stringify(seleccion) },
data: JSON.stringify({ confirm: seleccion }),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (returndata) {
window.location = "@Url.Action("SomeAction","Controller")";
},
error: function (returndata) {
window.location.href = "@Url.Action("AnotherAction","Controller")";
}
});
//sessionStorage.clear();
});
控制器:
[HttpPost]
public ActionResult Action(string confirm)
{
if (!String.IsNullOrEmpty(confirm))
{
confirm = confirm.Substring(1, confirm.Length - 2);
var confirmadas = confirm.Split(',');
foreach (var id in confirmadas)
{
//change things in DB
}
return Json(new { ok = true, newurl = Url.Action("SomeAction", "Controller") });
}
return Json(new { ok = false, newurl = Url.Action("SomeAction", "Controller") });
}
請幫幫忙,我已經試過幾乎所有和它的作品的時候,但是其他時候它不「T。
謝謝。