1

私はこの問題に2日間苦労しました。同様のトピックに関する多くのチュートリアルを見つけましたが、まだ問題の解決に役立ったものはありません。

Volusion ショッピング カートで、製品ページからコンテンツをリモートで取得し、その情報を変数に保存してショッピング カートで使用しようとしています。私はphpを使用できず(Volusionではサポートされていません)、javascriptを使用してこれを行うことを余儀なくされています(私が知る限り). 次のコードは、特定のブランド名「Palliser」のカート項目を検索します。その名前が存在する場合、リンクを取得し、ajax を使用してリンクに関連付けられたページにリクエストを送信し、必要な情報を取得します。必要な情報を取得しますが、その過程でページが白くなり、2013年が残ります...なぜこれが起こっているのかわかりません。ajaxを扱うのはこれが初めてなので、誰か助けてください!?!?

$(window).load(function(){
    var seat_count = 0;
    var i = 0;
    var prodLinks = [];
    var numSeats = '';

    $('b.cart-item-name:contains("Palliser")').filter(function(index) {
        prodLinks[i] = 'http://xepwk.cjvgn.servertrust.com/'+$(this).parent('a').attr('href');

        $.ajax({
            url:prodLinks[i],
            //data:string,
            async:false,
            success: function(result){
                var html = jQuery('<div>').html(result);
                var prodInfoArray = html.find('span.PageText_L660n').parent('b').parent('td').html().split('<br>');
                var numSeats = prodInfoArray[1];
                alert(numSeats);
            }
        });     

        i+=1;
});

私が行った限りの情報へのリンクは次のとおりです: Get the content of another page's div with jQuery Ajax

4

2 に答える 2

0

DOM Ready イベントが発生したときに ajax リクエストを開始できます。ajax リクエストを開始するのに、画像やその他のスタッフは必要ないからです。またasync:true、あなたの状況で役立つ必要があります。

var seat_count = 0;
var i = 0;
var prodLinks = [];
var numSeats = '';
$(document).ready(function() {
    $('b.cart-item-name:contains("Palliser")').filter(function(index) {
        prodLinks[i] = 'http://xepwk.cjvgn.servertrust.com/'+
            $(this).parent('a').attr('href');

        $.ajax({
            url:prodLinks[i++],
            //data:string,
            async:true,
            success: function(result){
                var html = jQuery('<div>').html(result);
                var prodInfoArray = html.find('span.PageText_L660n')
                    .parent('b').parent('td').html().split('<br>');
                var numSeats = prodInfoArray[1];
                alert(numSeats);
            }
        });     
    });
});
于 2013-04-19T15:43:18.770 に答える