我用asp.net做了一个网站,在调试时出现Microsoft JScript 编译错误: 缺少 '}',它提示的错误代码是var log = 0;
function SetWebGameInfo(txt){
var val = "(" + txt + ")";
var obj = eval(val);

m_webGameInfo.push(obj);
}
求解啊!

解决方案 »

  1.   

    贴出来的代码没错
    可能push方法问题
      

  2.   

    很明显是eval(val);出错了,传进去的txt参数值贴出来
      

  3.   

    你传的是个Json格式的txt吧,如果是的话可能是这个里面缺少一个一个括号
      

  4.   


    chrome浏览器会有报错的,在调试工具里面调试,或者直接打开IE的调试让错误弹出来
      

  5.   

    function SetNewGameList(txt){
    var newIds = "[" + txt + "]";
    m_arrayNew = eval(newIds);
    }var log = 0;
    function SetWebGameInfo(txt){
    var val = "(" + txt + ")";
    var obj = eval(val);

    m_webGameInfo.push(obj);
    }function parseXml(xml){
    var root = xml.documentElement;
    var hotNodes = root.getElementsByTagName("hot");
    var hotIds = "[" + hotNodes[0].text + "]";
    m_arrayHot = eval(hotIds);

    var newNodes = root.getElementsByTagName("new");
    var newIds = "[" + newNodes[0].text + "]";
    m_arrayNew = eval(newIds);

    var itemNodes = root.getElementsByTagName("item");
    var gamelist = [];

    for(var i = 0; i < itemNodes.length; ++i){
    var obj = itemNodes[i];
    var item = new Object;
    for(var k = 0; k < obj.childNodes.length; k++){
    var key = obj.childNodes[k].nodeName;
    item[key] = obj.childNodes[k].text;
    }

    gamelist.push(item);
    }

    SetGameInfoList(gamelist);

    m_bXmlLoaded = true;
    setTimeout(onTimeOut, 10);
    }function onStatusChange()
    {
    if(m_xmlHttpRequest.readyState == 4){
    if(m_xmlHttpRequest.status == 200 || m_xmlHttpRequest.status == 0){
    parseXml(m_xmlHttpRequest.responseXML);
    }else{
    alert("异步调用出错\n返回的HTTP状态码为:"+xmlHttpRequest.status + "\n返回的HTTP状态信息为:" + xmlHttpRequest.statusText);
    }
    }
    }麻烦各位看看是不是这里,谢谢!
      

  6.   

    还有一点就是当跳出上面那个错误是点击继续,又显示出Microsoft JScript 运行时错误: 未结束的字符串常量这个错误