2011-11-22 13 views
0

UPDATEjQueryの「多すぎる再帰」エラー

私はjQueryライブラリの開発者向けバージョンに縮小さバージョンから切り替えるとエラーが発生しているjQueryライブラリの一部を発見しました、 jQuery v1.5.1.jsの行2467

if (handle) { 
     handle.apply(elem, data); 
} 

しかし、現時点では、これの正確な開始がどこから来たのかはわかりません。

ENDのUPDATE

私は整理することができない問題に実行していますよ。これが上で実行され、実質的にすべてのサーバーとブラウザ上で

$('#agencyForm').submit(function(e){ 
    // form field validations 
    var zipRegex = /^[0-9]{5}(-[0-9]{4})?$/; 
    var agencyNameRegex = /^[a-zA-Z\-\ \'\.]+$/; 
    var cityRegex = /^[^0-9]+$/; 
    var errMsg = ''; 
    if($('#agency_nm').val().length == 0) { 
     errMsg += 'Agency Name is missing.\n'; 
    } else if (!agencyNameRegex.test($('#agency_nm').val())) { 
     errMsg += 'Agency Name can only contain letters, hyphens, periods, and apostrophes.\n'; 
    } 
    if($('#agency_address1_tx').val().length == 0) { 
     errMsg += 'Address 1 is missing.\n'; 
    } 
    if($('#agency_city_nm').val().length == 0) { 
     errMsg += 'City is missing.\n'; 
    } else if (!cityRegex.test($('#agency_city_nm').val())) { 
     errMsg += 'City can only contain letters and punctuation.\n'; 
    } 
    if($('#agency_state_nm').val().length == 0) { 
     errMsg += 'State is missing.\n'; 
    } 
    if($('#agency_postal_cd').val().length == 0) { 
     errMsg += 'Zip Code is missing.\n'; 
    } else if (!zipRegex.test($('#agency_postal_cd').val())) { 
     errMsg += 'Zip Code must be in the format of 99999 or 99999-9999.\n'; 
    } 
    if(errMsg.length > 0) { 
     alert('There were errors with your submission.\n\n' + errMsg); 
     e.preventDefault(); 
    } 
}); 

、問題がない:私はjQueryの1.5.1を使用して、次のコードブロックを持っています。しかし、既存のセットを置き換えるために入ってくるいくつかの新しいサーバをテストしています。このコードは、検証が成功した場合にのみ「過度の再帰」エラーを投げています。言い換えれば、何も起こってはならないとき。

これは複数のレベルで私にとっては意味がありません。私はチェックし、コードベースが失敗したサーバーと正常に動作するサーバーで同じであることを確認しました。違いはありません。

誰かが特定のサーバーでのみエラーが発生する理由を考え出すことができますか?

+0

これはおそらく愚かな質問です(私の申し訳ありません)。しかし、サーバーでは、ブラウザを実行しているクライアントマシンではなく、JSファイルをホストしているサーバーを意味していますか? –

+0

が正しい。それはWebサーバーのアップグレードです。同じアーキテクチャ(Unix、Websphere、CF9.0.1)だけアップグレードされたボックス。 –

答えて

0

問題を解決しました。コードベースは完全に同じではありませんでした。古いバージョンの検証では、再帰エラーを引き起こす可能性がありますが、そのサーバーには何とかなりました。

$('#agencyForm').submit(function(e){ 
    e.preventDefault(); 
    // form field validations 
    var zipRegex = /^[0-9]{5}(-[0-9]{4})?$/; 
    var agencyNameRegex = /^[a-zA-Z\-\ \'\.]+$/; 
    var cityRegex = /^[^0-9]+$/; 
    var errMsg = ''; 
    if($('#agency_nm').val().length == 0) { 
     errMsg += 'Agency Name is missing.\n'; 
    } else if (!agencyNameRegex.test($('#agency_nm').val())) { 
     errMsg += 'Agency Name can only contain letters, hyphens, periods, and apostrophes.\n'; 
    } 
    if($('#agency_address1_tx').val().length == 0) { 
     errMsg += 'Address 1 is missing.\n'; 
    } 
    if($('#agency_city_nm').val().length == 0) { 
     errMsg += 'City is missing.\n'; 
    } else if (!cityRegex.test($('#agency_city_nm').val())) { 
     errMsg += 'City can only contain letters and punctuation.\n'; 
    } 
    if($('#agency_state_nm').val().length == 0) { 
     errMsg += 'State is missing.\n'; 
    } 
    if($('#agency_postal_cd').val().length == 0) { 
     errMsg += 'Zip Code is missing.\n'; 
    } else if (!zipRegex.test($('#agency_postal_cd').val())) { 
     errMsg += 'Zip Code must be in the format of 99999 or 99999-9999.\n'; 
    } 
    if(errMsg.length > 0) { 
     alert('There were errors with your submission.\n\n' + errMsg); 
    } else { 
     $('#agencyForm').submit(); 
    } 
}); 

フィドラーのヒントをありがとう!

1

何が起きているのか推測しにくく、あなたが私たちに示したコードはまったく再帰しません。私はFiddlerのトラフィックを見て、それが失敗したときに何が起こるかを調べるときにどうなるか比較します。いくつかの手がかりを与えるかもしれません。

関連する問題