php - 向 php 服务器发送 ajax 调用返回空错误

标签 php javascript jquery

我在一个函数中有以下 ajax 调用,它是在点击事件时调用的。

$.ajax({
  url:"server.php",
  type:'GET',
  data: {'action':'addEvent'},
  success: function(response)
  {
    if(response)
    {
    alert("200 ok");                
    }
 },
 error: function(xhr, ajaxOptions, ThrownError)
 {
   alert("Error:" + ThrownError);
   $("#output").text("Error: "+ThrownError);
 }
}); 

php端如下

  if(isset($_GET["action"]))
   {
      $action = $_GET["action"];
     if($action == 'addEvent')
     {
          echo("ping");
     }

   }

现在它抛出一个错误。但是我得到的错误信息是:

确切地说,我得到错误:

这让我发疯。

我还把我的 document.ready 放进去,让它充当某种 ping,它工作得很好

最佳答案

看看this jsFiddle .我遇到了和你一样的错误。

为什么会出现这种情况:单击链接并发送 ajax 请求。但默认操作不会停止,浏览器导航到 href 中指定的 url 并停止任何 JS 执行。 AJAX 调用也停止了。

为了防止这种情况发生,您应该这样做:

$('a').click(function(e) { 
    $.ajax({
      url:"server.php",
      type:'GET',
      data: {'action':'addEvent'},
      success: function(response) {
        if(response) {
           alert("200 ok");                
        }
      },
      error: function(xhr, ajaxOptions, ThrownError) {
         alert("Error:" + ThrownError);
         $("#output").text("Error: "+ThrownError);
      }
   }); 
   e.preventDefault();//this will not allow browser to move to a different URL
   return false; //alternative to e.preventDefault(). 
});​

可能你有类似的问题,但很难注意到,因为你的元素导致简单的页面重新加载,浏览器导航到同一页面。

关于php - 向 php 服务器发送 ajax 调用返回空错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138853/

相关文章:

javascript - 如何在某些被调用的函数中传递jquery对话框按钮函数的返回值

javascript - 如何在警报框中显示数组中的所有项目?

javascript - Gmail 如何在完成加载后强制自己成为事件选项卡?

php - 将设计模式应用于特定行为

php - 文本区域验证

php - jquery easyui 分页

javascript - jQuery/JS 将 onClick 按钮值添加到行中

php - 数据库代码未在使用 php 的聊天程序中连接

javascript - JSF 页面中的 $.noConflict() 冲突

jquery - 如何选择具有给定 id 的特定 div 内的表行元素