我试图通过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>
最佳答案
您的代码中存在很多问题。
变量中缺少引号。在此添加引号:
var uname = "<?php echo $_SESSION['username']?>";
session 未启动。使用以下命令启动 session :session_start();
尽量不要混淆 PHP 和 HTML。将其分开。不要使用
echo
编写 HTML 标签。- 否
<input />
有一个结束标签,并且没有<input type="textarea"
... 应替换为<input type="text"
. 使用 jQuery 或其他一些很棒的库来执行 AJAX 调用等复杂功能。通过为所有浏览器提供功能并减少困惑的代码,这使您和开发人员的生活变得更轻松。
$.ajax(function () { "url": "/", // Blah Blah });
关于javascript - Uncaught ReferenceError : 'somevar' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617726/