2017-12-23 3 views
-1

私は奇妙なエラーで立ち往生しています。私は.spliceはコンソール上の関数ではありませんが、実際には配列上で.spliceを実行しています(これは有効です)。さらに、それは常にエラーを得ることはありません。私はページをリフレッシュするときに、時々私はそれを取得し、他の時間、私はそれを取得しません。なぜか分からない。私の間違いを教えてください。私はここで間違っていますか?時々、.spliceが関数ではありません

EDIT:変数配列(var ... = [])とjQuery.getJSONの宣言の間に、変数(整数)の中に要素を追加しています。それで私はスプライスを使用しています。 JSONの新しい項目で配列を整理したいと思っています。また、すべての配列には同じ量の要素が含まれています。私は常に各配列に同じ量の要素を追加しています。

var HeightLegs = []; 
var IdLegs = []; 
var PriceLegs = []; 
var QuantityLegs = []; 
jQuery.getJSON('/products/legs.js', function (product) 
{ 
    for (var i = 0; i < product.variants.length; i++) 
    { 
     var indexToAdd = 0; 
     while (indexToAdd < HeightLegs.length && HeightLegs[indexToAdd] < +(product.variants[i].option1.replace('"', ''))) 
     { 
      indexToAdd++; 
     } 

     IdLegs.splice(indexToAdd, 0, product.variants[i].id); 
     HeightLegs.splice(indexToAdd, 0, +(product.variants[i].option1.replace('"', ''))); 
     PriceLegs.splice(indexToAdd, 0, product.variants[i].price/100); 

     if (product.variants[i].inventory_policy == "continue") 
      QuantityLegs.splice(indexToAdd, 0, 1); 
     else { 
      // MY ERROR IN THE CONSOLE IS ON THIS SPLICE ONLY!!!! 
      QuantityLegs.splice(indexToAdd, 0, product.variants[i].inventory_quantity); 
     } 
    } 
}); 

私は理解していないどのようなエラーが一定ではないということである。ここでは

は私の問題のコードがあります。時々私はそれを取得し、私はしない他の時間...

ありがとう!

+0

変数の宣言とJquery.getJSONの間に、配列内に要素を追加しています。だからこそ私は.plice(これは.pushではない)を使っています。 – Jonny

+0

その問題を再現するためにJSFiddleのサンプルを作成できますか?なぜJavaScriptファイルで 'getJSON'を使用していますか? [JavaScriptはJSONではありません](http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/)。 – str

+0

あなたが好きな場合は、エラーがある私のWebページをチェックアウトすることができます。コンソールを確認し、数回リフレッシュしてください。うまくいけば、あなたはエラーを得るでしょう。 https://decktogo.com/apps/productbuilder/stage-builder また、getJSONを使用してShopifyのAJAX呼び出しを使用し、自分の製品に関する情報を取得しています。 – Jonny

答えて

0

上記のコメントによると:

what.ever is not a functionようなエラーはwhatが定義されていることを意味するが、この方法everこのオブジェクトにバインドされていません。それは2つだけ(私が知っている場合)が発生します。この場合、

A)メソッドのスペルミス名前(ever

b)のオブジェクト/クラス(whatの間違ったタイプ)

を、エラーがあるため発生しましたvar ShopifyQuantityLegsが誤ってNumber(ShopifyQuantityLegs = 1)に設定されていたので、b)は手がかりです

関連する問題