0

woocommmerceオーダーAPIを使用しようとしています。 https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#order-properties 私は以下の目的に従ってこれを成功裏に提出できます。woocommerce order apiを使用して複数の商品を送信api

 data = { 
     "order": { 
      "payment_details": { 
       "method_id": "bacs", 
       "method_title": "direct bank", 
       "paid": false, 
       "status": "pending" 
      }, 
      "billing_address": { 
       "first_name": $scope.f_name, 
       "last_name": $scope.l_name, 
       "address_1": $scope.address1, 
       "address_2": $scope.address2, 
       "city": $scope.city, 
       "state": $scope.state, 
       "postcode": $scope.postcode, 
       "country": $scope.country, 
       "email": $scope.email, 
       "phone": $scope.phone 
      }, 
      "shipping_address": { 
       "first_name": $scope.f_name, 
       "last_name": $scope.l_name, 
       "address_1": $scope.address1, 
       "address_2": $scope.address2, 
       "city": $scope.city, 
       "state": $scope.state, 
       "postcode": $scope.postcode, 
       "country": $scope.country 
      }, 
      "customer_id": $scope.user_id, 
      "line_items": [{ 
       "product_id": $scope.ids, 
       "quantity": 1 
      }] 
     } 

ただし、複数の商品を送信する際に問題が発生します。私はこれを行う方法がわかりません。

パラメータ("product_id": $scope.ids, "quantity": 1)を繰り返すことができますが、ユーザーが送信する製品の数がわからないので、これは有効ではありません。私の考えは、どうにかしてすべての製品IDを連結してオブジェクトにプッシュする必要があるということです。手伝ってください?

私はそれ以来、すべての製品IDを取得してobjという変数に追加するためにforループを実行しようとしましたが、objはオブジェクトに追加されますがまだ運がありません。

for (i = 0; i < $scope.basketProducts.length; i++) { 
    obj = "product_id:" + $scope.basketProducts[i].id + ",quantity:1"; 
    console.log(obj); 
    } 

    "line_items": [{ 
        obj 
        }] 

答えて

0

配列concat()を使用して、両方の配列の結果を連結します。

var hege = ["Cecilie", "Lone"]; 
var stale = ["Emil", "Tobias", "Linus"]; 
var children = hege.concat(stale); 
+0

あなたの回答に感謝しますが、私はいくつの製品が存在するのかわかりません。動的であり、APIの構造に従う必要があります – eohdev

関連する問題