function doPost(path, params, method) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for (var key in params) {
if (params.hasOwnProperty(key)) {
if ($.isArray(params[key])) {
//更多信息请参考这片文章: http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx
for (var i = 0; i < params[key].length; i++) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key + "[" + i + "]");
hiddenField.setAttribute("value", params[key][i]);
form.appendChild(hiddenField);
}
}
else {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
}
document.body.appendChild(form);
form.submit();
}
调用示例:
doPost('/Ssfw/Index', {
userName: 'alan',
code: 'abcde',
});