1

私は最近、イントラネット システムを古いサーバーから新しいサーバーに移動する任務を負っています。多くの YUI ライブラリと、経験のない javascript/json を使用します。ページの 1 つを読み込もうとすると (イントラネットとしてリンクできません)、次のようなエラーが表示されます。

e: SyntaxError: parseJSON
o: [object Object]
data: undefined

このエラーは、次の try/catch から発生します。

var loadData = function(data) {
    if(data)
        data += '&offset=' + offset;
    else
        data = 'offset=' + offset;

    var callback = {
        success: function(o) {
            try {
                var data = YAHOO.lang.JSON.parse(o.responseText);
            } catch(e) { alert('e: ' + e + '\no: ' + o + '\ndata: ' + data}

私は本当にjsonが何であるかを知りませんが、どこかから(正しい)データを取得していないと仮定しています。問題はこのページにありますか、それとも他の場所にありますか?

編集: トラブルシューティングに必要な情報がこれで十分ではない可能性があります。JSON/YUI については何も知りません。他に何か知りたいことがあれば教えてください。

4

3 に答える 3

2

問題のJSON文字列が実際には表示されないo.responseTextため、何が原因であるかを知る必要があります。アラートを次のように変更します。oObject

alert('e: ' + e + '\no.responseText: ' + o.responseText + '\ndata: ' + data);

問題の診断に役立つ場合があります。JSON文字列とは何か、どこから来たのかを説明しない限り、問題がそのページにあるかどうかは誰にも答えられません。

于 2012-08-02T10:37:23.767 に答える
1

o.responseTextは有効なJSONではないようです-デバッグでそれを出力できますか?

于 2012-08-02T10:35:40.337 に答える
1

responseTextを入手できる場合は、http://jsonlint.comなどのJSONバリデーターを介して実行するとエラーがどこにあるかがわかります。

于 2012-08-02T10:38:13.050 に答える