Jquery AJAX工作,但显示的消息有bug
Jquery AJAX is working but displayed message bugged
在changename.php
中我有这个div:
<div id="resultDiv"></div>
在同一个文件中,我有PHP代码:
<?php
include_once ('connect.php');
if(isset($_POST['name']))
{
$postedname = $_POST['name'];
$safename = mysqli_real_escape_string($con, $postedname);
$checkname = "SELECT * from accounts where name='$safename' LIMIT 1";
$query = mysqli_query($con, $checkname);
$row = mysqli_num_rows($query);
if($row) {
echo 'Name is already taken!';
} else {
$changename = "UPDATE accounts SET name='$safename' WHERE Name='$_SESSION[username]'";
$query = mysqli_query($con, $changename);
if($query)
{
echo 'Name is changed!';
$_SESSION['username'] = $safename;
}
}
}
?>
这是我的Jquery脚本(在一个单独的文件中):
$(function(){
$("form").submit(function() {
event.preventDefault();
var name = $('#inputName').val();
$.post("changename.php",
{
name: name
},
function(data)
{
$("#resultDiv").text(data);
});
});
});
代码工作正常,它成功地改变了我的名字。如果我希望我的名字是'John',它会成功地在数据库中更改它。
问题是,它应该改变div与ID resultDiv
到Name is already taken!
。相反,它需要整个changename.php
HTML代码并将其放入该DIV。因此,而不是1行,我有100+行我的页面在那里。它看起来像这样:
你知道为什么这不是我想要的信息吗?
Ajax将从作为url的文件中获取所有数据。如果你想避免这种情况,你有两个选择。
- 在
changename.php
中写入条件,只执行对db部分的更新。 在
changename.php
上只保留需要的代码更新到db。相关文章:
- Ajax聊天消息重复而不仅仅是更新
- 如果localstorage为空,则显示欢迎消息
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 离开页面时弹出消息
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 消息显示之外的淘汰验证
- 选项卡侦听器未被来自后台脚本的消息激活
- jQuery在输入下验证post错误消息
- Scipt未在选定选项卡中执行以发送和接收消息
- 检查xmlhttprequest问题的消息
- AngularJs对ng消息的自定义替换
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 当用户按下回车键时,自动在text区域/text中插入消息
- 如果消息框答案为YES,则用Javascript填写表单
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- 在AngularJs中隐藏默认错误消息
- Jquery AJAX工作,但显示的消息有bug
- Jquery消息框预留区域bug