2013-08-06 1 views
-1

Mac에서 빠른 Ajax 실험을하고있었습니다. 스크립트/main.js 폴더에 다음과 같은 자바 스크립트 코드가 있습니다.Mac에서 localhost 문제를 어떻게 해결할 수 있습니까?

  • index.html을
  • JS/jquery.js
  • JS/main.js I 버튼을 클릭 할 때마다

: 여기

'use strict'; 
var button = document.getElementsByClassName('update'); 

button[0].addEventListener('click', function() { 
    worker.updateCustomer(); 
}); 

var worker = { 
    updateCustomer: function(customerInfo, cb) { 
     $.ajax({ 
      url: 'data/customer.json', 
      type: 'POST', 
     }).done(function(data) { 
      log('response', data); 
     }).fail(function() { 
      log('failed'); 
     }); 
    } 
}; 

내 작업 디렉토리 구조입니다 나는 다음을 얻는다 :

POST localhost:9000/data/customer.json 404 (Not Found) 
failed 

말했다되고 있다는 몇 가지 언급 할 필요가 :

나는 내가 localhost/~username/folder/file.php로 이동했다 Sites/ 폴더 아래에 내 프로젝트에 액세스하려면, PHP 개발을 수행하는 데 사용됩니다.

Forbidden 
You don't have permission to access/on this server. 

내가 httpd.conf 파일에 보니

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Allow from all #change here 
</Directory> 

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Deny from all 
</Directory> 

를 수정 : 브라우저에서 localhost를 입력 내 컴퓨터에 현재

다음 반환 지금 얻으십시오 :

Not Found 

The requested URL/was not found on this server. 

/~username/..을 추가하지 않고 직접 내 localhost 폴더에 액세스 할 수 없다는 것이 내 문제라고 생각합니다.

알려 주시기 바랍니다. 여기

답변

1

: (- 스크립트를 실행하고 표준 출력을 보내이 파일 확장자를 .PHP있는 경우) HTTP 요청을 사용하는 경우

POST localhost:9000/data/customer.json 404 (Not Found) 
failed 

당신이 알아야은 PHP 서버는 기존 파일을받을 클라이언트로 전송할 것으로 기대하고있다. 또한 PHP는 .htaccess 파일 설정을 통해 내부 리디렉션을 할 수있게 해줍니다.

(1) ErrorDocument 404 /path-to-file (요청 파일을 서버에서 찾을 수 없습니다 경우)

(2) ErrorDocument 403 /path-to-file (요청 된 파일이 서버에 발견되었지만이 직접 액세스 금지 된 경우)

I : 예를 들어, 두 가지 방법을 모두 사용하는 것이 좋습니다. 이 컨텐츠// 데이터에 대한 htaccess로 파일을 만듭니다

deny from all 
ErrorDocument 403 /data-manager.php 
ErrorDocument 404 /data-manager.php 

잘 최상위 디렉토리에 '데이터 manager.php'를 작성 ('공공 HTML'). 그리고 PHP 스크립트를 통해 다음을 사용할 수 있습니다 :

<?php 
    echo 'Requested url was: ' . $_SERVER['REQUEST_URI']; 
?> 
+0

나는 같은 결과를 얻습니다. [link] (http : // localhost/~ username/ajax_test/data-manager)로 갈 때.php) 다음이 화면에 표시됩니다 : 요청 된 URL : /~roland/ajax_test/data-manager.php –

+0

'data-manager.php'에 액세스하는 경우 올바른 응답입니다. '/ data/some-file'(.htaccess 파일의 위치) 에코 응답을 가져 오십시오. HTTP 요청에서 '/ ~ username /'이름을 제거하기 위해 'DocumentRoot'매개 변수를 httpd.conf 파일의 './~username/'경로로 변경하려고 했습니까? –

+0

이 방법의 문제점은 Sites 폴더에있을 때만 'localhost/~ username /'폴더로 리디렉션된다는 것입니다. 난 쓸데없는 또는 파이썬 서버를 사용하는 경우라고 생각하지 않습니다 –