0

このエラーの修正に問題があります。誰かがここで何が起こっているのかを説明できるかもしれません:私はサーバーからJSONを取り戻しています:

 d3.json(fullpath, function (json)
        {
            graphData = json;
            if (graphData.nodes.length == 0)
            {
                $.jnotify("Sorry there is no data for graph. Please include social media type in search.");
            }
            drawGraph();
        });

これがjsonの一部です:

"nodes": [{
        "id": 1,
        "userID": 1,
        "profile_image_url": "images/twitterimage_1.jpg",
        "description": "user1 desc",
        "name": "user 1",
        "location": "Berlin",
        "statuses_count": 5,
        "followers_count": 1
    }
    ,
    {
        "id": 2,
        "userID": 2,
        "profile_image_url": "images/twitterimage_2.png",
        "description": "user2343434 desc",
        "name": "user 2",
        "location": "Berlin",
        "statuses_count": 6,
        "followers_count": 2        
    }

次に、この行で:'if(graphData.nodes.length == 0)'このエラーが発生しました:'エラー:プロパティの値を取得できません'ノード':オブジェクトがnullまたは未定義です'

そして、これはIEでのみ発生し、ChromeやFirefoxでは問題になりません。

助けてください!

ありがとう!

4

1 に答える 1

0

わかった。問題は次の行にありました:d3.json(fullpath、function(json)

IEが非同期的にjsonをデフォルトにすることを知っていますか?そしてChrome/Firefoxはこれを同期的に呼び出しますか?

したがって、回避策は、jqueryライブラリから.ajax呼び出しに切り替えることです。

$ .ajax({url:dataPath、dataType:'json'、async:false、data:null、success:function(response){}

ありがとう!

于 2013-01-23T22:46:22.953 に答える