我有多个部分,如学生,地址,结果 现在学生有一个名为“学生”的对象 第二个对象称为“地址” 第三个对象“result”是数组列表
我希望将所有三个对象放入一个对象,然后转换为JSON对象 第1步:
var allInOneObject = [];
var studentObject = {};
var addressObject = {};
var resultObject = [];
studentObject = $("#studentData").serializeObject();
addressObject = $("#addressData").serializeObject();
现在我在结果中有多条记录,所以我使用数组来存储记录
resultObject.push({result1:"11",result2:"22"});
resultObject.push({result1:"33",result2:"44"});
resultObject.push({result1:"55",result2:"66"});
然后我尝试将allInOneObject组合在一个对象中 所以
allInOneObject.push({student:studentObject});
allInOneObject.push({address:addressObject});
allInOneObject.push({result:resultObject});
var sendData = {base :allInOneObject }
var dataToJSON = JSON.stringify(sendData);
dataToJSON具有正确的学生和地址值,结果具有JSON格式的空白值 喜欢
{
"result":[]
}
**以上JSON问题已解决。 它现在正在工作,下一个任务是使用Jquery调用Method
$.ajax({
type: "POST",
url: "StudentRegister.aspx/SaveStudent",
data: sendData,
contentType: "application/json; charset=utf-8",
success: function (response) {
alert("successfully done");
},
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
return false;
它说内部服务器500错误。
[WebMethod]
[ScriptMethod]
public static AjaxResponse<Student> SaveStudent(Student sd)
{
var AjaxResponse = new AjaxResponse<Student>();
return AjaxResponse;
}
我正在使用VS 2012.应用程序正在38301端口上运行。
In Browser console :
POST http:// localhost :38301/Student/StudentRegister.aspx/SaveStudent 500 (Internal Server Error) jquery-2.1.1.min.js:4
n.ajaxTransport.k.cors.a.crossDomain.send jquery-2.1.1.min.js:4
n.extend.ajax jquery-2.1.1.min.js:4
(anonymous function) StudentRegister.aspx:79
n.event.dispatch jquery-2.1.1.min.js:3
n.event.add.r.handle
TIA
如果我做错了,请纠正我。