我正在Web应用程序上开发一个Notification System,但是对JS / Ajax还是陌生的。我需要做的是向我的PHP发送一个变量,该变量在服务器上运行一个Update代码以将通知设置为已读,理想情况下,当用户打开Notification Dropdown时。
我尝试使用OnClick函数,但是该按钮似乎没有激活Ajax,因为没有数据被更新。目前,我还在尝试在标签上使用'data-role'+在标签上使用$(document).on('click','a [data-role = ...) ajax似乎没有激活。我环顾四周,似乎没有找到任何与此类事物相关的信息。我不知道由于标签已经在切换下拉菜单,因此无法切换ajax吗?
免责声明:这是我在这里的第一个问题,对不起,如果我过于简化/过于复杂。
Ajax代码
films
当用户单击下拉开关时应激活哪个
favorites
我的Notification.php具有以下代码。
$(document).ready(function(){
$(document).on('click','a[data-role=update]',function(){
var read = 'Y';
$.ajax({
url : 'Notification.php',
method : 'post',
data : {read : read},
success : function(response){
// now update user record in table
alert("Ajax sent the info!");
}
});
});
});
当用户打开下拉列表,并且当用户更改页面时,我希望ajax通过post为PHP发送var,并且当用户更改页面时,通知应该消失了。我单独测试了PHP,它确实更新了表上的数据。但是,当我打开下拉列表时,没有任何与Ajax相关的事情发生,它只是正常打开下拉列表,不会激活Ajax。
答案 0 :(得分:0)
由于@NicoHaase的网络调试建议,我得以找到问题所在。 Ajax网址不正确。我更正了网址,并且代码正常工作。
我必须更改URL才能获取Notification.php的正确路径
$(document).ready(function(){
$(document).on('click','a[data-role=update]',function(){
var read = 'Y';
$.ajax({
url : '../../resource/include/Notification.php',
method : 'post',
data : {read : read},
success : function(response){
// now update user record in table
alert("Ajax sent the info!");
}
});
});
});
问题似乎发生了,因为即使Notification.php与我使用a标记的菜单文件位于同一文件夹中,也已将其导入另一个文件夹的索引文件中,所以我不得不适应那条路。谢谢Nico Hasse。