【发布时间】:2015-06-05 15:10:21
【问题描述】:
我需要访问服务器端本地存储中保存的数据,但这是另一回事。
我的视图中有这个按钮:
<div style="float:right;">
<input id="btnTest" type="button" name="test Json Button" value="test Json Button" onclick="sendLocalStorage();" class="btn btn-default" />
</div>
这个JS函数:
function sendLocalStorage() {
var JsonLocalStorageObj = JSON.stringify(localStorage);
//var test = ["test1", "test2", "test3"];
$.ajax({
url: "/MyControllersName/Test",
type: "POST",
dataType: 'json',
data: JsonLocalStorageObj,
contentType: "application/json; charset=utf-8",
beforeSend: function () { alert('sending') },
success: function (result) {
alert(result.Result);
localStorage.clear();
}
});
};
还有这个测试控制器方法:
[HttpPost]
[WebMethod]
public ActionResult Test(string JsonLocalStorageObj)
{
string x = JsonLocalStorageObj;
//deserialize here
return RedirectToAction("Index");
}
当我在 chrome 开发工具中运行 JSON.stringify(localStorage); 时,我看到了预期的数据,但是当我调试我的控制器时,JsonLocalStorageObj 始终是 null。作为测试,我使用了被注释掉的测试数组并将控制器上的参数设置为接受List<string>,这是通过填充来实现的。
JSON.stringify(localStorage); 被传递有什么问题?
【问题讨论】:
标签: javascript ajax asp.net-mvc