Javascript Ajax脚本没有响应
我已经创建了一个ajax脚本,但它似乎不起作用。此脚本使用Jquery更新mysql数据库中的用户名和姓氏,并在更新过程中加载gif。但是脚本似乎不起作用,甚至加载程序也不起作用!下面是显示名称更改的moodal框的JQuery和JavascriptJavascript Ajax脚本没有响应,javascript,jquery,ajax,Javascript,Jquery,Ajax,我已经创建了一个ajax脚本,但它似乎不起作用。此脚本使用Jquery更新mysql数据库中的用户名和姓氏,并在更新过程中加载gif。但是脚本似乎不起作用,甚至加载程序也不起作用!下面是显示名称更改的moodal框的JQuery和Javascript var editNameBox=document.getElementById('editName'); var editNameBtn=document.getElementById(“editNameButton”); var closeEd
var editNameBox=document.getElementById('editName');
var editNameBtn=document.getElementById(“editNameButton”);
var closeEditName=document.getElementsByClassName(“closeEditName”)[0];
editNameBtn.onclick=函数(){
editNameBox.style.display=“block”;
}
closeEditName.onclick=函数(){
editNameBox.style.display=“无”;
}
window.onclick=函数(事件){
如果(event.target==editNameBox){
editNameBox.style.display=“无”;
}
}
$(文档).ready(函数(editname){
$(文档).ajaxStart(函数(){
$(“#contentLoad”).css(“显示”、“块”);
});
$(文档).ajaxComplete(函数(){
$(“#contentLoad”).css(“显示”、“无”);
});
$(文档)。在(“单击”上,“#名称更改btn”,函数(){
var userid=$(“.userid”).val();
var firstname=$(“#firstNam”).val();
var secondname=$(“#lastNam”).val();
$.ajax({
url:“editProfile.php”;
类型:“职位”;
数据类型:“json”;
数据:{
userid:userid,
名字:名字,
姓氏:姓氏
};
成功:功能(响应){
警报状态;
};
});
}));
});代码>
.body{}
正在加载强>
&时代;
编辑您的姓名
名字:
我会这样做:
<input type="hidden" name="userid" id="userid" value="<?php echo $userData['id']; ?>"> // put this in your form to
$(".namechange").on("click", function() {
//show loader
$("#contentload").css("display", "block");
// get data
var userid = $("#userid").val();
var firstname = $("#firstNam").val();
var secondname = $("#lastNam").val();
// make ajax call
$.ajax ({
url : "editProfile.php";
type : "POST";
dataType : "json";
data : {userid : userid, firstname : firstname, lastname : lastname};
success : function (response){
alert(response);
// hide loader
$("#contentload").css("display", "none");
};
});
)};
echo json_encode(array("status" => "success", "message" => "Name changed successfully"));
依此类推,然后使用检查ajax成功函数中的状态
if(response.status == "success") {
// do whatever
} else {
// do whatever
}
我修复了语法错误,迁移到ajax使用promise语法,事件处理程序使用jQuery代码
注意:我不知道您在哪里有$(“.userid”).val()
,所以我将把解决方案留给您
//既然您有jQuery,我就使用它。
$(“#editNameButton”)。在('单击',函数()上{
$('editName').removeClass('hideme');
});
$(.closeEditName”)。在('click',function()上{
$('#editName').addClass('hideme');
});
$('#editName')。在('单击',函数()上){
$(this.addClass('hideme');
});
//不需要窗口事件,由前一个窗口事件覆盖
$(函数(){
$(文档).ajaxStart(函数(){
$(“#contentLoad”).css(“显示”、“块”);
});
$(文档).ajaxComplete(函数(){
$(“#contentLoad”).css(“显示”、“无”);
});
$(文档)。在(“单击”上,“#名称更改btn”,函数(){
var userData={
userid:$(“.userid”).val(),
名字:$(“#firstNam”).val(),
第二个名称:$(“#lastNam”).val()
};
$.ajax({
url:“editProfile.php”,
类型:“POST”,
数据类型:“json”,
数据:用户数据
})
.完成(功能(响应){
警报状态;
});
});
});代码>
.hideme{
显示:无;
}
.contentloader-img{
高度:100px;
宽度:100px
}
正在加载强>
&时代;
编辑您的姓名
名字:
有了jQuery,就可以使用它:$(“#editName按钮”)。在(“单击”上,函数(){$(“#editName”).hide()})代码>我编辑了您的问题以显示一个伪工作示例。现在,当您运行该程序时,您会看到大量语法错误开始突出显示。您需要在这些url:“editProfile.php”之间使用逗号;类型:“职位”;数据类型:“json”代码>我尝试了你的方法,真正的问题是当我点击按钮时,它没有触发代码。点击按钮,什么也不会发生!我找不到class=“nameChangeBtn”的按钮。。如果这个:id=“editNameButton”是您的按钮,那么您必须将jquery更改为$(“#editNameButton”)。在。。。或者,如果是输入提交按钮,那么类是namechange而不是namechange,然后尝试发出警报(“测试”);直接在onclick事件之后,查看是否触发。。我还看到了:$(#lastNam).val();应为$(“#lastNam”).val();这个:$($userData['id']).val();不能像我想的那样工作吗?你的加载程序的id也不是#LoadContent,而是#contentLoad。。请检查您的代码并检查是否有正确的id和类,否则这将无法工作。此外,您的所有输入字段都在contentload div中,还是只显示/隐藏图像而不是整个div?如果是这样的话,您必须为加载程序而不是div提供id