<head runat="server">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function PassJavascriptObjectArraytoWebmethod() {
var CustomerArr = [];
var Customer = new Object();
Customer.CustomerId = "1";
Customer.Name = 'Rakesh';
Customer.Address = 'Mumbai';
CustomerArr.push(Customer);
var Customer = new Object();
Customer.CustomerId = "2";
Customer.Name = 'Sandesh';
Customer.Address = 'Banglore';
CustomerArr.push(Customer);
var param = JSON.stringify(CustomerArr)
$.ajax({
type: 'POST',
url: 'Default2.aspx/AddCustomer',
data: param,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(result) {
alert(result.d);
}
});
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<span onclick="javascript:PassJavascriptObjectArraytoWebmethod();">Call Customer</span>
</div>
</form>
</body>
這裏是我的代碼behid的WebMethod傳遞JSON對象到的webmethod給內部服務器錯誤500
[WebMethod]
public static string AddCustomer(Customer[] CustomerArr)
{
return "some result";
}
這裏是例外,我在控制檯中看到
「消息」:「類型\ u0027System .Collections.Generic.IDictionary`2 [[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089],[System.Object,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]] \ u0027不支持反序列化數組。「,」StackTrace「:」at System.Web.Script.Se rialization.ObjectConverter.ConvertListToObject(IList列表,類型類型,JavaScriptSerializer序列化程序,布爾throwOnError,IList & convertedList)\ r \ n在System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o,類型type,JavaScriptSerializer序列化程序,布爾throwOnError ,Object & convertedObject)\ r \ n at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o,Type type,JavaScriptSerializer serializer,Boolean throwOnError,Object & convertedObject)\ r \ n at System.Web.Script.Serialization .JavaScriptSerializer.Deserialize(JavaScriptSerializer序列化程序,字符串輸入,類型類型,Int32 depthLimit)\ r \ n在System.Web.Script.Serialization.JavaScriptSerializer.Deserialize [T](字符串輸入)\ r \ n System.Web.Script .Services.RestHandler.GetRawParamsFromPostRequest(HttpContext上下文,JavaScriptSerializer序列化程序)\ r \ n在System.Web.Script.Se rvices.RestHandler.GetRawParams(WebServiceMethodData methodData,HttpContext的上下文)\ r \ n在System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext的上下文中,WebServiceMethodData methodData)」, 「ExceptionType」: 「System.InvalidOperationException」