2009-08-13 5 views
2

jquery를 사용하여 ajax를 통해 양식을 제출할 때 url 대신 전체 서버 경로를 사용하는 방법이 있습니까?jquery ajax 및 전체 서버 경로

아래의 예는 작동하지 않지만 내가하려는 일에 대한 아이디어를 줄 것입니다. 나는 당신이 크로스 도메인 아약스 요청을 할 수 없다는 것을 알고 있지만 이것은 모두 동일한 물리적 서버에 있습니다.

프록시를 설정하고 싶지 않습니다. 너무 쉽게 할 수있는 방법이 없으면 서버에서 파일을 몇 개 이동할 것입니다.하지만 쉬운 해결책이 있기를 바랍니다.

$.ajax({ 
     type: "POST", 
     url: "/home/full/server/path/file.php", 
     data: theData, 
     success: function() { 
     $('div#success').fadeIn('fast'); 
     } 
    }); 

고마워요!

답변

4

아니요, 작동하지 않습니다. 그것들은 공개적으로 볼 수있는 URI가 아니며 클라이언트에서 볼 수없는 실제 스크립트 경로입니다.

+0

빠른 답장을 보내 주셔서 감사합니다. – Enkay

3

웹 서버는 이러한 방식으로 작동하지 않습니다. 확실한 보안상의 이유가 있습니다. 상대 경로를 사용할 수 있습니다. jQuery로 아약스를 통해 양식을 제출할 때

10

대신 URL의 전체 서버 경로를 사용하는 방법이 있나요?

당신은 현재 서버를 얻을 수 위치를 사용할 수 있습니다

url: location.protocol + "//" + location.host + "/home/full/server/path/file.php" 

하지만 cannot use absolute path for cross-domain 요청.

+1

실제로, 실제로 작동합니까? – karim79

+1

네,하지만 크로스 사이트 요청은 아닙니다 :) 이것은 실제로 상대 경로를 사용하는 것과 다릅니다. 그냥 절대 경로를 사용합니다. 때로는 어떤 페이지 스크립트가 실행될 지 모르기 때문에 (상대 경로를 사용할 수 없기 때문에) 유용 할 수 있습니다. –