小编典典

Ajax-500内部服务器错误

ajax

我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。

我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的:

xmlhttp.status == 500(内部服务器错误)。

我注释掉了所有递归,因此将其范围缩小到了这段代码。(x跟踪药物的数量,所以我知道什么时候停止)

function LoadMeds()


  if ( x == MaxMedCount )
  {
      document.getElementById("the_day").value = parseInt(document.getElementById("the_day").value)+7; 
  }
  if ( x == (MaxMedCount - 1) )
  {
      document.getElementById("x").value = x + 1;
      show();
  }
  else
  {

      if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
      }
      else
      {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function()
      {
          try 
          {      
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
              {     
                  var div = document.createElement('div');
                  div.innerHTML= xmlhttp.responseText;
                  document.getElementById('MedTable').appendChild(div);
                  document.getElementById("the_med_").value = the_med_;

              }

          }
          catch(e)
          {
              alert("Error");  
          }
      }
      xmlhttp.open("GET","URL with variables passed",true);
      xmlhttp.send();     
      document.getElementById("x").value = x + 1;
  }

如果需要更多代码,请告诉我。


阅读 205

收藏
2020-07-26

共1个答案

小编典典

500 (internal server error)意味着服务器方面出了点问题。可能有几件事,但是我将首先验证URL和参数是否正确。另外,请确保处理请求的任何人都希望请求是GET而不是POST。

了解更多情况的一种有用方法是使用Fiddler之类的工具,该工具可让您查看所有HTTP请求和响应,从而可以准确查看正在发送的内容和服务器正在响应的内容。

如果没有令人信服的理由来编写自己的Ajax代码,那么最好使用一个为您处理Ajax交互的库。
jQuery是一种选择。

2020-07-26