Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax脚本没有响应_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Ajax脚本没有响应

Javascript 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

我已经创建了一个ajax脚本,但它似乎不起作用。此脚本使用Jquery更新mysql数据库中的用户名和姓氏,并在更新过程中加载gif。但是脚本似乎不起作用,甚至加载程序也不起作用!下面是显示名称更改的moodal框的JQuery和Javascript

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