在 AJAX 调用之后,我得到如下 JSON 数据:
{
"detailPrice": {
"server": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"network": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"storage": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"loadBalancer": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"others": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"support": {
"amount": "8",
"usedPrice": "10",
"discountPrice": "-1",
"totalPrice": "9"
},
"totalPrice": {
"totalUsedPrice": "8",
"totalDiscountPrice": "-2",
"missedPrice": "10",
"tax": "9",
"otherDiscount": "-1"
}
}
}
我必须将这些数据附加到视图中,所以我编写了这样的代码:
var serverpriceHTML = "총 " + result.detailPrice.server.amount + "대<br/>";
serverpriceHTML += "이용요금 " + result.detailPrice.server.usedPrice + "원<br/>";
serverpriceHTML += "할인요금 " + result.detailPrice.server.discountPrice + "원<br/>";
var serverTotalPriceHTML = result.detailPrice.server.totalPrice + "원";
$("#server_price").html(serverpriceHTML);
$("#server_totalprice").html(serverTotalPriceHTML);
var networkpriceHTML = "총 " + result.detailPrice.network.amount + "대<br/>";
networkpriceHTML += "이용요금 " + result.detailPrice.network.usedPrice + "원<br/>";
networkpriceHTML += "할인요금 " + result.detailPrice.network.discountPrice + "원<br/>";
var networkTotalPriceHTML = result.detailPrice.network.totalPrice + "원";
$("#network_price").html(networkpriceHTML);
$("#network_totalprice").html(networkTotalPriceHTML);
正如你所看到的,它有很多重复的代码,所以我试图为它创建一个私有函数。
问题是:
result.detailPrice.server.amount
我必须更改server
为network
、storage
等loadbalancer
才能获取数据,但我不确定如何更改。
如果我像这样:
function makeHTML(price, totalPrice, name) {
var test = "result.detailPrice" + name + ".amount";
var serverpriceHTML = "총 " + test + "대<br/>";
serverpriceHTML += "이용요금 " + result.detailPrice.server.usedPrice + "원<br/>";
serverpriceHTML += "할인요금 " + result.detailPrice.server.discountPrice + "원<br/>";
var serverTotalPriceHTML = result.detailPrice.server.totalPrice + "원";
$(price).html(serverpriceHTML);
$(totalPrice).html(serverTotalPriceHTML);
}
这只是添加字符串测试。有什么好主意吗?