嗨,
任何人都知道我在这里做错了什么。我正在尝试使用 jQuery AJAX 将 JSON 对象发布到 ASP.Net WebMethod。
虽然我在服务器端获取对象,但不是我想要的方式。我希望客户对象是一个简单的对象,这样我就可以像普通实例一样访问,例如 customer.Name,但我不能,因为它是作为字典对象到达那里的。
编辑:: 为什么 JSON 作为 C# 动态类型的 Dictionary 对象进入服务器端?
这是快速观看的屏幕截图;
这是javascript和服务器端代码。
function SaveCustomer() {
var funcParams = JSON.stringify({
customer: {
Name: "Name of Customer",
Title: "President"
},
address: {
Street: "Street",
City: "",
Zip: ""
}
});
// 我尝试了以下 json 参数,但结果仍然相同。
var funcParams = "{\"customer\":" + JSON.stringify({ Name: "Name of
Customer", Title: "President" }) + ",\"address\":" +
JSON.stringify({ Street: "Street", City: "", Zip: "" }) + "}";
}
$.ajax({ type: "POST", contentType: "application/json; charset=utf-8",
dataType: "json", url: "aspxPage.aspx/SaveCustomer", data: funcParams,
success: function(){ }, error: function(e){alert("Error occured"+e);}
})
[WebMethod(EnableSession = true)]
public static string SaveCustomer(dynamic customer, dynamic address)
{
if(!string.IsNullOrEmpty(customer.Name) &&
!string.IsNullOrEmpty(customer.Title)....)
{
//app logic
}
}