Javascript&;Chrome调试器:";未捕获的语法错误:意外标记“}”;

Javascript&;Chrome调试器:";未捕获的语法错误:意外标记“}”;,javascript,debugging,google-chrome,Javascript,Debugging,Google Chrome,我正在写一个javascript文件。我正在从运行良好的JavaJersey Web服务加载一些数据。然后通过javascript(s.fillSelect()-函数)在html表中解析数据。现在我希望字段“id”变成可点击的。单击后,应启动“loadRegistrationForm”功能 但是,当我单击表的id字段时,Chrome调试器会告诉我: “未捕获的语法错误:意外标记}”。在InternetExplorer中,这看起来是相同的问题。但对我来说似乎很好,我找不到任何意想不到的“}” 谁能

我正在写一个javascript文件。我正在从运行良好的JavaJersey Web服务加载一些数据。然后通过javascript(s.fillSelect()-函数)在html表中解析数据。现在我希望字段“id”变成可点击的。单击后,应启动“loadRegistrationForm”功能

但是,当我单击表的id字段时,Chrome调试器会告诉我: “未捕获的语法错误:意外标记}”。在InternetExplorer中,这看起来是相同的问题。但对我来说似乎很好,我找不到任何意想不到的“}”

谁能告诉我错误的方向吗

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" type="text/css" rel="stylesheet" />
<title>Registrierung für ein Event</title>

<script type="text/javascript"  src="http://code.jquery.com/jquery-2.0.0.js">
</Script>
<script type="text/javascript">

var EventAPI = {
    newRequest: function(type, urlSuffix, data) {
        var request = {
            url: "http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/" + urlSuffix,
            type: type,
            data: data ? JSON.stringify(data) : null,
            contentType: "application/json",
            dataType: "json",
        }
        return request;
    },

    addInvitation: function(Customer) {
        var request = EventAPI.newRequest("POST", "createInvitation", Customer);
        $.ajax(request).done(function(response) {
        //alert("Add Invitation Response Message" + response.text);
        });
    },

    getDonwloadLink: function(Customer) {
        var request = EventAPI.newRequest("GET", "getPassFile");
        $.ajax(request).done(function(response) {
        //alert("getDownloadLink Response Message: " + response.text);  
        });
    }
};

callService = function(Uri, successFunction) {
    $.ajax({
        cache: true,
        url: Uri,
        data: "{}",
        type: "GET",
        dataType: "json",
        error: ajaxCallFailed,
        failure: ajaxCallFailed,
        success: successFunction
    });
};

function Customer(Vorname, Name, Email, Firma) {
    this.vorname = Vorname;
    this.name = Name;
    this.emailAdresse = Email;
    this.firma = Firma;
}

function generateInvitation() {
    //generate customer
    var customer = new Customer($("#customer_Vorname").val(), $("#customer_Name").val(), $("#customer_Email").val(), $("#customer_Firma").val());
    EventAPI.addInvitation(customer);
    var displayDownloadLink;
    var fileName = customer.vorname + "_" + customer.name + "_" + customer.emailAdresse + "_" + customer.firma + "_" + "pass.pkpass";

    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    var url = "http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/getPassFile/" + fileName;
    xmlhttp.open('GET', url, true);
    xmlhttp.send(null);
    xmlhttp.onreadystatechange = function() {

        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                var myOutput = "<br>Vielen Dank fuer Ihre Registrierung - Sie koennen ihre Einladung hier herunterladen: <a href='" + xmlhttp.responseText + "'> pass </a>";
                alert(myOutput);
                if (document.getElementById) {
                    document.getElementById("myOutput").clear;
                    document.getElementById("myOutput").innerHTML = myOutput;
                }
            } 
            else {alert("Error ->" + xmlhttp.responseText);}
        }
    };

}

/**
*This function loads a list of available events
*/
function fillSelect() {
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    var url = "http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/getEventList";
    xmlhttp.open('GET', url, true);
    xmlhttp.send(null);

    xmlhttp.onreadystatechange = function() {

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            //save returned data to variable
            var data = xmlhttp.responseText;
            alert(data);
            //create result table
            var customerList = '<table border="1">' + "<tr>" + "<th>ID</th>" + "<th>Event</th>" + "<th>Datum</th></tr>";

            //iterate result data & fill table with results
            var myObject = eval('(' + data + ')');
            for (i in myObject) {
                //Problem: Wenn es nur ein Object gibt, dann mdarf nur myObject["id"] aufgerufen werden -- wie kann das vermieden werden?
                var event = new Event(myObject[i]["id"], myObject[i]["eventName"], myObject[i]["eventDate"]);
                alert(event.eventName);
                alert(event.id);
                alert(event.eventDate);
                customerList = customerList.concat(
                "<tr><td id='" + event.id + "' onclick=loadRegistrationForm(" + event + ");return false;'><a href='#'>" + event.id + "</a></td>" + 
                "<td>" + event.eventName + "</td>" + 
                "<td>" + event.eventDate + "</td>" + "</tr>");
                alert(customerList);
            }
            //close data table
            customerList = customerList.concat("</table>");
            //make result table visible
            if (document.getElementById) {
                document.getElementById("myOutput").clear;
                document.getElementById("myOutput").innerHTML = customerList;
            }
        }
    };
}

function Event(id, eventName, eventDate) {
    this.id = id;
    this.eventName = eventName;
    this.eventDate = eventDate;
}

function loadRegistrationForm(Event) {
    alert("test");
//alert(Event.eventName);
}

</script>

</head>
<body>

    <div class="content">
        <img src="res/logo_jpg_klein.jpg" alt="tim_logo" />
        <ul id="Navigation">
            <li><a href="index.html">Wer ist hier </a></li>
            <li><a href="registerforEvent.html">Für Event registrieren </a></li>
        </ul>

        <h1>Hier können Sie sich für ein Event registrieren.</h1>
        <div id="myOutput" class="content"> 

            <form id="formular" name="formular"  action="rest/MarketingApp/createInvitation" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return false;">
            <p>
                <label>Vorname: </label><input type="text" id="customer_Vorname" name="customer_Vorname" />
            </p>
            <p>
                <label>Name: </label> <input type="text" id="customer_Name" name="customer_Name" />
            </p>
            <p>
                <label>Email: </label> <input type="text" id="customer_Email" name="customer_Email" />
            </p>
            <p>
                <label>Firma: </label> <input type="text" id="customer_Firma" name="customer_Firma" />
            </p>
            <br>-------------------------------------------------------------------------<br>
            <p>
                <label>Event: </label> 
                <script type="text/javascript">
                    fillSelect();
                </script>
            </p>
            <select>
                <option value="email">Send pass as Email</option>
            </select>
            <input type="button" value="Fuer Event registrieren" onclick="generateInvitation()" />
            </form>
        </div>

    </div>

</body>
</html>

登记für ein事件
var EventAPI={
newRequest:函数(类型、URL后缀、数据){
var请求={
url:“http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/“+URL后缀,
类型:类型,
data:data?JSON.stringify(数据):null,
contentType:“应用程序/json”,
数据类型:“json”,
}
返回请求;
},
附加提示:功能(客户){
var request=EventAPI.newRequest(“POST”、“createInvitation”、Customer);
$.ajax(请求).done(函数(响应){
//警报(“添加邀请响应消息”+Response.text);
});
},
getDonwloadLink:功能(客户){
var request=EventAPI.newRequest(“GET”、“getPassFile”);
$.ajax(请求).done(函数(响应){
//警报(“getDownloadLink响应消息:“+Response.text”);
});
}
};
callService=function(Uri,successFunction){
$.ajax({
是的,
url:Uri,
数据:“{}”,
键入:“获取”,
数据类型:“json”,
错误:ajaxCallFailed,
失败:ajaxCallFailed,
成功:成功功能
});
};
职能客户(姓名、姓名、电子邮件、公司){
this.vorname=vorname;
this.name=名称;
this.emailAddresse=电子邮件;
this.firma=firma;
}
函数generateInvitation(){
//生成客户
var customer=new customer($(“#customer_Vorname”).val(),$(“#customer_Name”).val(),$(“#customer_Email”).val(),$(“#customer_Firma”).val();
EventAPI.附加激励(客户);
var显示下载链接;
var fileName=customer.vorname+“”+customer.name+“”+customer.emailAddresse+“”+customer.firma+“”+“pass.pkpass”;
var-xmlhttp;
xmlhttp=新的XMLHttpRequest();
变量url=”http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/getPassFile/“+文件名;
open('GET',url,true);
xmlhttp.send(空);
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var myOutput=“
登记处的天气状况——您的天气状况如何?”; 警报(myOutput); if(document.getElementById){ document.getElementById(“myOutput”).clear; document.getElementById(“myOutput”).innerHTML=myOutput; } } else{alert(“Error->”+xmlhttp.responseText);} } }; } /** *此函数用于加载可用事件的列表 */ 函数fillSelect(){ var-xmlhttp; xmlhttp=新的XMLHttpRequest(); 变量url=”http://192.168.3.205:8081/MarketingAppServer/rest/MarketingApp/getEventList"; open('GET',url,true); xmlhttp.send(空); xmlhttp.onreadystatechange=函数(){ if(xmlhttp.readyState==4&&xmlhttp.status==200){ //将返回的数据保存到变量 var data=xmlhttp.responseText; 警报(数据); //创建结果表 var customerList=''++“ID”+“事件”+“数据”; //迭代结果数据并用结果填充表格 var myObject=eval(“(“+data+”)”); for(我在myObject中){ //问题:在对象gibt中不存在,但在我的对象[“id”]中不存在--是否存在蠕虫? var event=新事件(myObject[i][“id”]、myObject[i][“eventName”]、myObject[i][“eventDate”]); 警报(event.eventName); 警报(event.id); 警报(event.eventDate); customerList=customerList.concat(
“您的xmlhttp.responseText很可能包含引号('),它会截断您的警报消息。 检查生成的页面源代码,看看这是否是问题所在。
注意:我知道这应该是一个注释,而不是一个答案,但我仍然无法对OP的问题进行注释。

删除
数据类型:“json”中的逗号",
@Joum,因为逗号意味着后面还有另一个属性,但数据类型是最后一个属性。但我刚刚意识到这行代码出现在几个地方。我说的是第19行。@basilikum是的,我知道很多,这就是为什么我没有得到它…只是注意到了它…我第一次看到的那行代码没有它s的问题,抱歉!:)这可能是错误抛出的_unexpected}…好的,我修复了有关意外“}”的问题。事实上,我错放了(')。好的,我修复了有关意外“}”的问题。事实上,我错放了(')。但是脚本没有对“onclick”事件做出反应。好的,我修复了有关意外“}的问题“。事实上,我错放了(”)。但是脚本并没有对“onclick”事件做出反应