我的 javascript 中有这两个函数“类”:
// product class
function Product() {
this.id;
this.qty;
this.size;
this.option;
}
// room class
function Room() {
this.id;
this.type;
this.products = [];
}
我有我的 js 逻辑,它填充房间及其产品。
现在我想将房间数组发送到网络服务来进行一些计算并从中返回结果。
如何将此数组对象发送到服务以及服务将接收以循环和处理的数据类型是什么?
我尝试编写这样的 JavaScript 代码:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "_Services/MyWebService.asmx/CalculatePrices",
data: "{'rooms':'" + roomsObjects + "'}",
dataType: "json",
success: function(result) {
alert(result.d);
}
});
网络服务如下:
[WebMethod]
public string CalculatePrices(object rooms)
{
return "blabla";
}
但我发现 wbservice 中的房间始终 = [object Object]
最佳答案
对于这种情况,这可行:
//...
data : '{"rooms":[' + roomsObjects.join() + ']}',
//...
上面的代码将生成一个有效的 JSON 字符串,但我建议您获取 JSON library并使用 JSON.stringify 函数:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "_Services/MyWebService.asmx/CalculatePrices",
data: JSON.stringify({'rooms': roomsObjects}),
dataType: "json",
success: function(result) {
alert(result.d);
}
});
关于asp.net - 将对象数组从 javascript 发送到 Web 服务的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396974/