javascript - Uncaught ReferenceError : 'somevar' is not defined

标签 javascript php jquery mysql ajax

我试图通过ajax调用将一些数据插入mysql,但是当我试图从我的表单中获取数据时,javascript在第一个变量上抛出了这个错误“Uncaught ReferenceError:anjelis未定义”

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>aloooooooooooooo!!!!!!!!!</title>
    <link rel="stylesheet" href="bootstrap/css/bootstrap.css">
    <link rel="stylesheet" type="text/css" href="css.css">
    <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
    <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
    <script src="js/main.js"></script>
    <script src="js/ajax.js"></script>
    <script>
    $(document).ready(function(e){
        $.ajaxSetup({cache:false});
        setInterval(function(){$('#chatlog').load('logs.php');},1000);
        setInterval(function(){$('#user_list').load('user_list.php');},1000);
    });
    function submitChat(){
    var uname=<?php echo $_SESSION['username']?>;
    var msg=form.msg.value;
    var xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function(){
        if(xmlhttp.readyState==4 && xmlhttp.status==200){
            document.getElementById('chatlog').innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open('GET','insert.php?username='+uname+'&msg='+msg,true);
    xmlhttp.send();
    }

    </script>
</head>

body

<body>
<nav class="navbar navbar-inverse">
  <div class="container">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">ChatCY</a>
    </div>
          <ul class="nav navbar-nav navbar-right">
            <li><?php if(!isset($_SESSION['username'])){echo '<a href="login.php">Login/Signin</a>';}else{
                echo'<a href="logout.php">Logout</a>';}?></li>
          </ul>         
      </div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-8">
<div class="panel panel-default">
    <div id="chatlog" class="panel-body"></div>
 </div>
 </div>
 <div class="col-md-2">
    <div class="panel panel-default">
    <div id="user_list" class="panel-body"></div>
 </div>  
 </div>
 </div>
        <div class="row">
         <div class="col-md-8">
         <form class="form-inline">
         <form name="form" class="form-group" onsubmit="return false;">
        <input type="textarea" class="form-control" name="msg" style="width:90%;"<?php if(!isset($_SESSION['username'])){
            echo 'disabled="disabled" placeholder="You must be logged in to chat .."';}?>></input>            
        <button type="button" class="btn btn-default" name="send" <?php if(!isset($_SESSION['username'])){
            echo 'disabled="disabled"';}?> onClick="submitChat();">send</button>
        </form>
        </form>
        </div>
     </div>       
</div>

最佳答案

您的代码中存在很多问题。

  1. 变量中缺少引号。在此添加引号:

    var uname = "<?php echo $_SESSION['username']?>";
    
  2. session 未启动。使用以下命令启动 session :

    session_start();
    
  3. 尽量不要混淆 PHP 和 HTML。将其分开。不要使用echo编写 HTML 标签。

  4. <input />有一个结束标签,并且没有 <input type="textarea" ... 应替换为 <input type="text" .
  5. 使用 jQuery 或其他一些很棒的库来执行 AJAX 调用等复杂功能。通过为所有浏览器提供功能并减少困惑的代码,这使您和开发人员的生活变得更轻松。

    $.ajax(function () {
        "url": "/",
        // Blah Blah
    });
    

关于javascript - Uncaught ReferenceError : 'somevar' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617726/

相关文章:

javascript - 如何将ts变量绑定(bind)到html?

javascript - 在 D3 中使用不同颜色更改每个堆叠条形图的颜色

jquery - 将子列表居中

javascript - 使用 jQuery 更改内部样式表规则后,是否可以通过 jQuery 读取原始内部样式表规则?

javascript - 根据用户单击的位置旋转 Canvas 显示

javascript - 使用 Javascript 旋转光标 (Thobber)

javascript - Jasmine 在浏览器中传递,文件在 grunt-contrib-jasmine 中

php - 要求显示目录中有限数量的文件名 -php

php - 使用另一个数组作为键创建关联数组

javascript - 如何使用 JavaScript 提交表单并重定向到 URL?