如何将表单的所有元素转换为JavaScript对象?
我想有一些方法从我的表单中自动构建一个JavaScript对象,而不必遍历每个元素.我不想要返回的字符串,$('#formid').serialize();也不想要返回的地图$('#formid').serializeArray();
我需要将对象序列化为JSON.我正在使用jQuery.是否有"标准"方法来做到这一点?
我的具体情况:我有一个定义如下所示的数组:
var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...
Run Code Online (Sandbox Code Playgroud)
我需要把它变成一个字符串传递给$.ajax()这样:
$.ajax({
type: "POST",
url: "Concessions.aspx/GetConcessions",
data: "{'countries':['ga','cd']}",
...
Run Code Online (Sandbox Code Playgroud) 如何将JavaScript对象传递给ASP.NET Handler并解析值?
我创建了一个复杂类型对象,如:
function AccountObjCreate() {
var AccountsView = {};
AccountsView.Username = null;
AccountsView.Email = null;
AccountsView.Password = null;
return AccountsView;
}
Run Code Online (Sandbox Code Playgroud)
并填写该对象,如:
var aView = AccountObjCreate();
aView.Username = $('#tbUserName').val().trim();
aView.Email = $('#tbEmail').val().trim().toLowerCase();
aView.Password = $('#tbPassword').val().trim();
Run Code Online (Sandbox Code Playgroud)
然后我打电话给:
$.post("/Handlers/AccountHandler.ashx", { obj: aView },
function (results) {
if (results.isSuccess) {
alert(results.msg);
} else {
alert(results.msg);
}
}, "json");
Run Code Online (Sandbox Code Playgroud)
当我在控制台中查看它时,我将aView中的所有数据视为json.
我的ASP.NET处理程序页面是
context.Response.ContentType = "application/json";
context.Response.ContentEncoding = Encoding.UTF8;
string obj = context.Request["obj"];
Run Code Online (Sandbox Code Playgroud)
但是obj是NULL.
是否有可以对复杂JSON对象进行字符串化的内置方法?
每次我使用JSON.stringfy我都会收到此错误:将循环结构转换为JSON,我还需要它的解析器
这是我的对象的图像 http://imgur.com/s3HbdtQ