2014-04-16 2 views
1

Javascript를 사용하여 간단한 Ajax 스크립트를 테스트하려고하는데 응답을받지 못합니다. PHP 스크립트는 로컬 서버의 htdocs 폴더에 저장되며 Ajax 호출이 포함 된 HTML 페이지가 내 데스크톱에 배치됩니다. 4의 readyState 서버로부터 수신하지만, 반환 상태가없는 (200)로컬 호스트를 사용하여 Ajax 테스트

오류는 파이어 폭스 상태에서 생성, 0 :

여기 NS_ERROR_DOM_BAD_URI: Access to restricted URI denied.

는 Ajax를 호출 할 책임이 코드의 섹션 개체 :

var myRequest = getXMLHttpRequest(); 

function callAjax() { 
    var url = "localhost/clock.php"; 
    var myRandom = parseInt(Math.random()*99999999); 
    myRequest. open("GET", url + "?rand=" + myRandom, true); 
    myRequest.onreadystatechange = responseAjax; 
    myRequest.send(null); 
} 

function responseAjax() { 
    if(myRequest.readyState == 4) { 
     if(myRequest.status == 200) { 
      var now = new Date(); 
      var localTime = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(); 
      var serverTime = myRequest.responseText; 
      document.getElementById("clock").innerHTML = "Server: " + serverTime + "<br />Local: " + localTime; 
     } else { 
      alert("An error has occurred: " + myRequest.statusText); 
     } 
    } 
} 

누구든지 내 문제에 대한 통찰력을 제공 할 수 있습니까?

OSX 10.8.5
MAMP 버전 2.1.3

+1

'var url = "http : //localhost/clock.php"로 시도해 볼 수 있습니까? – Scuzzy

+0

url = "/clock.php"; –

+0

htdocs 폴더가 아닌 데스크탑에 문서가있는 이유는 무엇입니까? – serakfalcon

답변

3

당신은 당신의 파일을 바탕 화면에 말한다. 로컬 파일 (file : //)을 열고 ajax를 수행 할 수 없습니다. Apache 서버 (http : //)를 통해 파일에 액세스해야합니다.

+0

예, 적절한 프로토콜을 추가하면 도움이되고 도움이되었습니다. 나는 경로 앞에 HTTP : // 접두사를 붙였으며 작동했다. 도와 주셔서 감사합니다. – user2684308

관련 문제