【问题标题】:Uncaught SyntaxError: Unexpected identifier at <head>未捕获的 SyntaxError:<head> 处的意外标识符
【发布时间】:2015-05-19 19:04:24
【问题描述】:

我正在加载一个使用 ajax 的 PHP。起初页面加载没有错误。当我在按钮上触发 onclick 事件时,我收到错误“Uncaught SyntaxError: Unexpected identifier”,该错误显示在 php 文件的第二行,即 HTML 头标记。

php 文件:

<html>
<head>
  <title>Staff Portal</title>
  <link rel="stylesheet" type="text/css" href="Instructor.css">
  <script type="text/javascript" src="InstLessons.js"></script>
</head>
<body onload="loadCourse()">
  <div id="InstHeader">
    <div id="bar">
      <table id="inst_bar_table">
        <tbody><tr>
        <td id="inst_bar_detail"><a href="InstOptions.php">Options</a></td>
        <td id="inst_bar_detail"><a href="logout.php">Logout</a></td><td>
        </td></tr>
      </tbody></table>
  </div><br>
    <h1 id="InstHeaderTitle">Pennco Tech Instructor Portal</h1><h1>
    </h1>
  </div>

  <div id="MainBody">
    <div id="course"><table id="InstClassTable"><tbody><tr><th id="classHeadTbl">Code</th><th id="classHeadTbl">Course</th><th id="classHeadTbl"># Students</th><th id="classHeadTbl">Start Date</th><th id="classHeadTbl">End Date</th></tr><tr><td id="classHeadDetailTbl">GEN 101</td><td id="classHeadDetailTbl">Computer Applications</td><td id="classHeadDetailTbl">7</td><td id="classHeadDetailTbl">05-06-15</td><td id="classHeadDetailTbl">07-07-15</td></tr></tbody></table></div>
    <div id="detailsection">
        <div id="InstMenu">
            <ul id="InstMenuList">
            <li><a href="InstMain.php" id="MenuLink">Select Class</a></li>
            <li><a href="InstAttendance.php" id="MenuLink">Class Attendance</a></li>
            <li><a href="InstClassAssignments.php" id="MenuLink">Class Assignments</a></li>
            <li><a href="InstClassMsgboard.php" id="MenuLink">Message Board</a></li>
            <li><a href="InstClassStudentData.php" id="MenuLink">Student Data</a></li>
            <li><a href="InstClassOverView.php" id="MenuLink">Class Summary</a></li>
            </ul>           
        </div>
    <div id="instLessons">
     <h3><u>Course Lessons</u></h3>
     <br>
        <table id="instLessonTable">
          <tbody>
            <tr>
              <td id="classHeadDetailTbl">Career Services Assignments</td>
              <td id="InstLessonButtonDetail">
                  <button id="InstLessonButton" onclick="getLessons(Career Services Assignments)">Select</button>
              </td>
              </tr>
              <tr><td id="classHeadDetailTbl">Mitchell Final</td>
              <td id="InstLessonButtonDetail"><button id="InstLessonButton" onclick="getLessons(Mitchell Final)">Select</button></td>
              </tr>
              <tr>
              <td id="classHeadDetailTbl">Mitchell Hand-In Assignments</td>
              <td id="InstLessonButtonDetail">
                  <button id="InstLessonButton" onclick="getLessons(Mitchell Hand-In Assignments)">Select</button></td>
              </tr>
              <tr>
              <td id="classHeadDetailTbl">Mitchell Lab Test</td>
              <td id="InstLessonButtonDetail">
                 <button id="InstLessonButton" onclick="getLessons(Mitchell Lab Test)">Select</button>
              </td>
              </tr>
              <tr>
              <td id="classHeadDetailTbl">Mitchell Midterm</td>
              <td id="InstLessonButtonDetail">
                  <button id="InstLessonButton" onclick="getLessons(Mitchell Midterm)">Select</button>
              </td>
              </tr>
              <tr>
              <td id="classHeadDetailTbl">PC</td>
              <td id="InstLessonButtonDetail">
                 <button id="InstLessonButton" onclick="getLessons(PC)">Select</button>
              </td>
              </tr>
            </tbody>
           </table>
         </div>
        <div id="instLessonMenu">
        <br>
        <button id="LessonMenuButton" onclick="SetPercentages()">Set Course Percentages</button><br><br>
        <button id="LessonMenuButton" onclick="newLesson()">New Class Lesson</button><br><br>
        <button id="LessonMenuButton" onclick="DelLesson()">Delete Class Lesson</button><br><br>
        <button id="LessonMenuButton" onclick="IndivLesson()">New Individual Lesson</button><br><br>
        <button id="LessonMenuButton" onclick="DelIndivLesson()">Delete Individual Lesson</button><br><br>
        </div>
    </div>
    </div>

按钮onclick事件的javascript函数:

function getLessons(lesson){
  if(xmlHttpGetLessons.readyState==4 || xmlHttpGetLessons.readyState == 0){
      var lesson_title = encodeURIComponent(lesson);
      xmlHttpGetLessons.open("GET", 'InstListLessons.php?lesson ="' + lesson_title + '"',true);
      xmlHttpGetLessons.send(null);
      xmlHttpGetLessons.onreadystatechange = LessonGetServerResponse;
  } 
}

【问题讨论】:

  • 你的 PHP 文件看起来很像 HTML 文件?
  • 大声笑,是的。我计划稍后添加更多内容,但需要先达到这一点。
  • 尝试用&lt;?php echo "Hello World!"; ?&gt; 替换一个简单的.php 文件,看看是否遇到错误?
  • 我已经将 PHP 插入到文件中,它可以正常工作。页面第一次加载正常,但单击按钮时失败。

标签: javascript php html ajax


【解决方案1】:

您的 JavaScript 函数调用将导致 Unexpected identifier 语法错误。

<button … onclick="getLessons(Career Services Assignments)">

单击按钮时,会执行以下 JavaScript 并导致错误。

getLessons(Career Services Assignments)

您需要将函数参数设为字符串,就像在 JavaScript 中通常那样;通过将内容包装在引号字符中。 (选择单引号,因为我们会将调用嵌入到使用双引号的 HTML 属性值中。)

getLessons('Career Services Assignments')

然后将其弹出回您的 HTML:

<button … onclick="getLessons('Career Services Assignments')">

【讨论】:

  • 谢谢。添加单引号可以解决问题。知道为什么文件的第 2 行会显示错误吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多