2011-01-12 3 views
0

현재 jquery를 쓰고 있는데 왜 그런지 모르겠지만 정상 도메인에서는 작동하지만 파킹 된 도메인에서는 작동하지 않습니다.파킹 된 도메인의 아약스

일반 도메인 - http://www.thefinishedbox.com 도메인 파킹 - http://www.tfbox.com

는 식민지 뉴스 아래로 스크롤과 충돌하는 경우 만에, 나에게 당신이 일반 도메인에서 JQuery와 아약스를 통해 데이터를 검색하는 것입니다 볼 수 있습니다 링크를 클릭 그것은 도메인 이름이 없습니다. 그렇게 어떤 도움이 massivly 주시면 감사하겠습니다 아약스에 관해서

$(function() { 

$.ajaxSetup({ 
    cache: false 
}); 
var ajax_load = "Load me plz"; 

// load() functions 
var loadUrl = "http://thefinishedbox.com/wp-content/themes/tfbox-beta/test.php"; 

$('.overlay').css({ 
    opacity: '0' 
}); 
$('.toggle').click(function() { 
    $('.overlay').css({ 
     display: 'block' 
    }).animate({ 
     opacity: '1' 
    }, 300); 

    $(".overlay .content").html(ajax_load).load(loadUrl); 

    return false; 
}); 
$('.close').click(function() { 
    $('.overlay').animate({ 
     opacity: '0' 
    }, 300); 
    $('.overlay').queue(function() { 
     $(this).css({ 
      display: 'none' 
     }); 
     $(this).dequeue(); 
    }); 
    return false; 
}); 

내가 완전한 멍청한 놈이야 :

는 여기에 지금까지 가지고있는 jQuery 코드 (의 꽤 표준)입니다.

답변

2

따라서 권한을 적절히 설정하지 않으면 다른 도메인에서 Ajax 요청을 할 수 없기 때문입니다. 이를 "교차 도메인 Ajax"라고합니다.

당신이 절대적으로 작동해야 할 경우, 당신은 당신의 코드를 약간 수정할 수 있습니다

var loadUrl = "http://"+window.location.hostname+"/wp-content/themes/tfbox-beta/test.php"; 

을 또는 해결 방법 (권장하지 않음)를 사용 : http://www.usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide

+0

네 난 그냥 확실하게 내가 전에 방법으로이 질문을 게시하려면 어떻게 그 짓을한다, 그것을 읽어 권한 설정에 대해 아십니까? – Daryl

+1

정답은 +1하지만, 적절한 권한을 설정하지 않은 경우 "... 도메인"이어야합니다. – JakeParis

+0

올바르지 않습니다. 도메인이 아닌 hostname + port에서 작동합니다. 또한 그는 "주차 된 도메인"에 대해 이야기하고 있으므로 스크립트를 실행중인 사이트에서 해당 콘텐츠를 사용할 수 없다고 생각합니다. 따라서 window.location.hostname은 작동하지 않으며 어쨌든 불필요합니다. 상대 URL 만 사용할 수 있습니다. – Jim

1

Ajax 요청은 일반적으로로드 것을 금지되어 있습니다 보안상의 이유로 다른 호스트 이름에서.

이 제한 사항을 해결하는 일반적인 방법은 JSON-P를 사용하는 것이지만 다른 웹 사이트의 지원이 필요합니다.

+0

내가 어떻게 이것에 대해 갈 수 있을지에 대한 정보? 그것에 관한 페이지? 답장 btw 주셔서 감사합니다. – Daryl

+0

많은 JSON-P 튜토리얼이 있습니다. Google. – Jim

1

js 변수에 도메인 이름을 저장하려면 PHP 페이지에 이것을 쓸 수 있습니다. 그렇게하면 두 도메인에서 동일한 코드를 사용할 수 있습니다.

<script type="text/javascript">var domain = '<?php echo $_SERVER['HTTP_HOST']; ?>';</script> 
<script type="text/javascript" src="yourJavascriptFile.js"></script> 

다음과 같이, 당신의 js 파일에 그 변수를 사용

// load() functions 
var loadUrl = domain + "/wp-content/themes/tfbox-beta/test.php"; 
+0

나는이 접근 방식을 아주 좋아한다. 좀 더 논리적 인 것처럼 보이지만, 이번에는 사용할 지 모르겠지만 나중에 사용할 수있다. 감사! – Daryl