0
我有2個Ajax請求來獲取一些CRM詳細信息,首先我想要獲得所有訂單狀態在系統中爲每個狀態創建一個帶有ID的容器並獲取全部從另一個請求中提取的訂單和將它們放入每個STATUSES ID容器中。將ajax請求合併到一個模板
發現難以遍歷狀態和訂單並相應地放置它們。
代碼
function createOrderStatuses(){
var access_token = BCAPI.Helper.Site.getAccessToken();
var request = $.ajax({
url: "/webresources/api/v3/sites/current/orderstatuses",
type: "GET",
connection: "keep-alive",
contentType: "application/json",
headers: _authorization
});
request.done(function (msg) {
console.log(msg);
//var orderStatusesArray = msg[];
for (var i = 0; i < msg.items.length; i++){
var statuses = msg.items[i];
var statusTemplate = '<div class="large-12 columns margin-distributed statusClass" id="'+ statuses.id +'"><h4 class="lato-bold">' + statuses.label + '</h4></div>';
if (statuses.label !== "EXCHANGE FEE PAID"){
$("#ordersContainer").append(statusTemplate);
}else{
//$(".orderStatuses").append('<option value="'+ statuses.id +'">' + statuses.label + '</option>');
}
}//looping and displaying statuses
getOrders();
});//request END
function getOrders(){
var access_token = BCAPI.Helper.Site.getAccessToken();
var request = $.ajax({
url: "/webresources/api/v3/sites/current/orders",
type: "GET",
connection: "keep-alive",
contentType: "application/json",
headers: _authorization
});
request.done(function (msg) {
console.log(msg);
var containerID = $('.statusClass').each(function(){ $(this).attr('id'); });
for (var i = 0; i < msg.items.length; i++){
var orders = msg.items[i];
var orderTemplate = '<div class="large-12 columns margin-distributed '+ orders.statusTypeId +'"><h5>' + orders.name + '</h5></div>';
var orderTemplateClass = orderTemplate.find('div[class*="'+orders.statusTypeId+'"]');
if (orderTemplateClass === containerID){
$(containerID).append(orderTemplate);
}// end IF
}//looping orders
});
}//GET ORDERS END
}
createOrderStatuses();
你是不是想比較orders.statusTypeId和stasuses.id? –
是的,我基本上想比較,如果orders.statusTypeId與stasuses.id匹配,並將每個div內的訂單與它自己的狀態ID – Skwashy
我有一些錯誤,因爲我試圖在foorloop內運行一個函數,所以我更改爲$。每個響應 – Skwashy