线路26上有意外的令牌}但第26行ajax呼叫没有}

时间:2014-08-29 20:47:02

标签: javascript ajax json

大家好我是javascript的新手,我正在努力学习Javascript"蒂姆赖特。我试图使用JSON.parse从字符串转换但是当我运行代码时,我在第26行遇到错误Uncaught SyntaxError:Unexpected token}但我​​在第26行看不到}}尝试复制并粘贴pdf中的代码,看看我是否做错了但仍然会出现同样的错误。

//create an instance of the xmlhttrequest

function getHTTPObject() {

    //initialize the variable
    var xhr;

    if (window.XMLHttpRequest) {
        xhr= new XMLHttpRequest();
    }else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    return xhr;
}//end getHTTPObject

function ajaxCall(dataUrl, callback) {

    var request = getHTTPObject();


    request.onreadystatechange = function() {
        if ( request.readyState === 4 && request.status === 200) {

            var contacts = JSON.parse(request.responseText);

            if(typeof callback === "function") {
                callback(contacts);
            }//end function check
        }//end ajax status check

    } //end onreadystatechange
    request.open("GET", dataUrl, true);     
    request.send(null);
}




ajaxCall('data/contacts.json');

我知道我可能只是错过了一些非常明显但我无法看到它的东西。谢谢你的帮助。

在这里更新我的json文件:

{  "addressBook" : [


    {
        "name": "Elysha",
        "email":"elysha@gmail.com",
    },

    {
        "name": "Luke",
        "email":"lukerobingregory@gmail.com",
    },

    {
        "name": "Dad",
        "email":"dad@gmail.com",
    },

    {
        "name": "Mum",
        "email":"mum@gmail.com",
    }



]

}

1 个答案:

答案 0 :(得分:1)

JSON字符串中有一个尾随逗号:

{
    "name": "Mum",
    "email":"mum@gmail.com",
}                          ^-- remove this comma, and corresponding commas in all the other "objects".

虽然您可以在JS对象文字中使用跟踪逗号,但JSON语法中不允许使用它。