2013-05-01 2 views
-4

이상한 문제가 발생했습니다. 내 코드는 내 컴퓨터에서 작동하지만 원격 서버에 아약스 URL을 지정하면 항상 실패합니다. 아래JQuery Mobile : 아약스는 로컬에서는 작동하지만 온라인에서는 작동하지 않습니다.

내 코드 : 내가 "http://localhost/"가 작동하고, 그것은 로컬 DB를 쿼리하고 "성공"을 반환 할 수 있지만, 같은 웹 URL을 설정

$.ajax({ 
      url: web_url + 'getSightseeing.php', 
      type: 'GET', 
      dataType: 'json', 
      success: function(){ alert("success");}, 
      error: function(jqXHR, exception) { 
      if (jqXHR.status === 0) { 
       alert('Not connect.\n Verify Network.'); 
      } else if (jqXHR.status == 404) { 
       alert('Requested page not found. [404]'); 
      } else if (jqXHR.status == 500) { 
       alert('Internal Server Error [500].'); 
      } else if (exception === 'parsererror') { 
       alert('Requested JSON parse failed.'); 
      } else if (exception === 'timeout') { 
       alert('Time out error.'); 
      } else if (exception === 'abort') { 
       alert('Ajax request aborted.'); 
      } else { 
       alert('Uncaught Error.\n' + jqXHR.responseText); 
      } 
     } 
    }); 

내가 좋아하는 원격 주소로 웹 URL을 변경할 때 "http://www.mydomain.com", 작동하지 않습니다. 의도적으로 캡처하는 오류 코드를 추가했습니다. 항상 팝업 경고입니다. "연결되지 않았습니다. \ n 네트워크 확인". 그러나 인터넷 연결을 사용할 수 있습니까? 놓친 설정이 있습니까?

수동으로 브라우저에서 "http://mydomain.com/getSightseeing.php"페이지를 열면 해당 페이지를 사용할 수 있으며 필요한 json 데이터가 인쇄됩니다.

나는 Jquery Mobile을 처음 사용합니다. 누구든지 나를 밝게 해 주셔서 감사합니다.

+0

자바 스크립트의 출처 정책이 같습니다. CORS가 사용 가능하지 않거나 요청 데이터 유형이 JSONP가 아니면 다른 도메인에 대한 요청은 허용되지 않습니다. – adeneo

+0

크로스 도메인 아약스 요청을 할 수 없습니다. – user1048676

+0

올바른 CORS 헤더가없는 원본 교차 요청을 방지하는 동일한 출처 정책에 의해 걸려 넘어지고 있습니다. –

답변

0

스택 오버플로를 통해 검색 한 후 "jsonp"메서드를 사용하여 작업을 수행 할 수있게되었습니다. 이제 jquery 모바일 사이트에서 원격 데이터를 볼 수 있습니다.

하지만 내 안드로이드 휴대 전화에 배치하면 (전화 갭을 사용하여 포장합니다), 휴대 전화에 아무 것도 표시하지 못하고 오류도 발생하지 않습니다. 누구든지 도움을받을 수 있습니까?

+0

나는 그 원인을 발견했다고 생각한다. 그것은 나의 네트워크 설정이다. 고마워. –

관련 문제