私は奇妙なエラーで立ち往生しています。私は.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);
}
}
});
私は理解していないどのようなエラーが一定ではないということである。ここでは
は私の問題のコードがあります。時々私はそれを取得し、私はしない他の時間...
ありがとう!
変数の宣言とJquery.getJSONの間に、配列内に要素を追加しています。だからこそ私は.plice(これは.pushではない)を使っています。 – Jonny
その問題を再現するためにJSFiddleのサンプルを作成できますか?なぜJavaScriptファイルで 'getJSON'を使用していますか? [JavaScriptはJSONではありません](http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/)。 – str
あなたが好きな場合は、エラーがある私のWebページをチェックアウトすることができます。コンソールを確認し、数回リフレッシュしてください。うまくいけば、あなたはエラーを得るでしょう。 https://decktogo.com/apps/productbuilder/stage-builder また、getJSONを使用してShopifyのAJAX呼び出しを使用し、自分の製品に関する情報を取得しています。 – Jonny