通过ajax调用php文件无法正常工作

这似乎是一个相对简单的问题,我对使用ajax很新,但我看到一篇关于在触发OnClick事件时能够调用PHP脚本的post。 我试图在用户单击“注销”链接时销毁会话,因此我想在OnClick事件发生时调用logout.php文件。 我的问题是单击链接时没有任何反应。

这是我的代码:

 $(document).ready(function() { // Expand Panel $("#open").click(function(){ //when the user clicks the logout button $.ajax({ url: "logout.php" )}; }); }); 

我想您希望显示logout.php文件的输出。 我认为你的代码可能正常工作,但你忘了告诉ajax把它收到的数据放在哪里。

尝试这样的事情:

 $.ajax({ url: 'logout.php', success: function(data) { $('.result').html(data); alert('Logout completed.'); } }); 

“结果”指向要加载响应的div的位置。

使用$ .ajax与单击常规链接不同。 $ .ajax不会“跟随”该链接,它会将该链接中的数据加载到文档中而不刷新页面。

您需要做的是在logout.php文件中执行您想要的操作,然后发送有关注销是否成功的信息。 您可以通过输出HTML,XML或JSON来执行此操作,您可以在javascript代码中检查并采取适当的操作(重定向用户,锁定UI等)。

试着这样做:

 $(document).ready(function() { alert('loaded!') // Expand Panel $("#open").click(function(){ //when the user clicks the logout button $.ajax({ url: "logout.php" )}; alert('clicked!') }); }); 

如果这显示一个弹出的说法点击! 然后事件被触发。 告诉我发生了什么,以便我们可以将其缩小到$ .ajax失败或点击事件未被触发。

如果您正在使用firebug,那么您可以转到控制台面板并检查XmlHttpRequests以密切查看从远程脚本返回的任何响应,如果您已从脚本发回任何响应。