2014-03-06 6 views
0

내 도메인에 php가있는 두 개의 폴더가 있습니다. 한 파일에서 아약스 호출을 사용하여 다른 사람에게 데이터를 보내려고합니다. 호출이 localhost에서 나를 위해 일했지만 라이브 서버에서 내 웹 사이트를 가지고있을 때 500 오류을 동일한 아약스 호출에 제공합니까?Ajax 호출 오류 500

이 문제를 어떻게 해결할 수 있습니까?

내 아약스 호출은 다음과 같습니다 :

var data_to_send = {}; 

j.ajax({ 
      url : '../orangehrm/symfony/web/index.php/auth/login', 
      type: "POST", 
      data : data_to_send, 
      async: false, 
      success: function(data, textStatus, jqXHR) 
      { 
       time_zone = j(data).find('#hdnUserTimeZoneOffset').val(); 
      }, 
      error: function (jqXHR, textStatus, errorThrown) 
      { 
      } 
     }); 
+4

500 포인트. 그것은 무엇이든 수 있습니다. 오류 출력을 게시 할 수 있습니까 – anurupr

+0

전체 URL을 사용해야합니다. orangehrm이 public_html/www를 벗어 났습니까? –

답변

0

귀하의 아약스 호출 (호출, 당신이 게시 무엇을 설명 할 수 없다) 괜찮습니다.

오류 500 = 서버 측에 문제가 발생했습니다. 스크립트에서 잘못 입력 된 함수 이름이나 스크립트를 죽이는 잘못된 설정과 유사 할 수 있습니다. 서버에서 로깅을 활성화하거나 서버에서 오류 표시를 활성화하십시오 (간단한 Google 유형으로 쉽게 찾을 수 있습니다).

전체 코드 목록 : http://en.wikipedia.org/wiki/List_of_HTTP_status_codes (500은 일반적인 오류입니다.)

지금 ... 몇 가지 일반적인 추측 : 로컬 서버에서 괜찮 았지만 생방송으로 깨 졌다고 했으므로 일반적인 용의자가 하나 있습니다. 그 중 하나가 파일 사용 권한입니다. 당신의 로컬 서버에서 당신은 신이며, 살아있는 동안 당신은 잘 ... 신이 적습니다. 해당 PHP 스크립트가 파일을 업로드하거나 디스크에 무언가를 쓰는 경우 아파치를 실행하는 사용자가 해당 특정 항목에 액세스/읽기/쓰기 권한이 있는지 확인하십시오.

또 다른 일반적인 용의자는 데이터베이스 연결 (있는 경우)입니다. 생방송의 자격 증명이 다를 수 있습니다.

또 다른 하나는 ... php 버전/php extensions/php configs (예 : 짧은 태그).

다시 ... 그것은 아무것도있을 수 있습니다 ...하지만 보통 나는 사람들이 그 3.

+0

해당 파일에 액세스 할 수있는 권한을 설정하려면 어떻게해야 라이브 서버에서 할 수 있습니까? –

0

500 번호 오류로 덮여 실수를 할 것을 본 적이 서버 측 예외입니다 - 뭔가 아파치에 잘못된 또는 IIS 또는 뭐든간에. 그 정보를 확인하려면 서버의 오류 로그 (Windows의 이벤트 뷰어)를 확인하거나 웹 서비스 소프트웨어에서 "자세한 오류 메시지"를 설정하여 원격 요청을 통해 브라우저에 반환 된 추가 정보를 확인하고 서버는 동일한 효과를 가질 수 있습니다.

0

500 http 코드는 서버가 액세스 한 URL에 Internal Error을 반환 함을 의미합니다. Ajax없이 해당 URL에 액세스 한 다음 url을 경고하고 (벨로우즈 참조) 경고 된 문자열을 복사하여 브라우저에 붙여 넣어 원하는 리소스를 가리키고 있는지 확인하십시오. 이것은 당신의 URL이 가난하고 바라는 것보다 다른 것을 가리 키기 때문입니다.

코드를 디버깅 : 서버 오류로

var data_to_send = {}, 
     _url='../orangehrm/symfony/web/index.php/auth/login'; 

    //console.log(_url); 
    alert(_url);//copy this alerted _url and paste in the browser 

    j.ajax({ 
     url : _url, 
     type: "POST", 
     data : data_to_send, 
     async: false, 
     success: function(data, textStatus, jqXHR) 
     { 
      time_zone = j(data).find('#hdnUserTimeZoneOffset').val(); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) 
     { 
     } 
    });