2013-06-05 1 views
0

누군가 나를 도울 수 있습니까? 나는 아약스를 통해 PHP 스크립트를 호출하고 PHP 스크립트가 생성하는 난수를 표시하는 HTML 파일을 가지고있다. 두 파일이 같은 도메인에있을 때 잘 작동하지만 두 파일이 다른 도메인 (필요한 경우)에있는 경우 아무 일도 발생하지 않습니다. 누군가 내가이 문제를 해결하도록 도울 수 있습니까?Ajax를 사용하여 도메인 전체에서 div를 자동으로 새로 고치려면 어떻게해야합니까?

HTML 파일의 코드는 다음과 같습니다 라인

$('#divToRefresh').load('http://www.OTHERDOMAIN.com/random.php'); 

가 변경

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript">// <![CDATA[ 
$(document).ready(function() { 
$.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh 
setInterval(function() { 
$('#divToRefresh').load('http://www.OTHERDOMAIN.com/random.php'); 
}, 5000); // the "5000" here refers to the time to refresh the div. it is in milliseconds. 
}); 
// ]]></script> 
</head> 
<body> 
<div id="divToRefresh">Loading users...</div> 
</body> 
</html> 

경우

$('#divToRefresh').load('random.php'); 

및 HTML 파일과 동일한 폴더에 저장 모든 것이 잘됩니다.

PHP 파일의 코드는 다음과 같습니다 크로스 도메인 아약스 호출을 허용 할 수정 된 코드는 원하는 무엇

<?php 
$random1 = sprintf("%02f", rand(0,9212)); 
echo $random1; 
?> 

보일 것? json 요청 래퍼에 대해 언급 한 설명서를 읽었지만 어디로 갈 지 알지 못했습니다. 어떤 도움이라도 대단히 감사 할 것입니다.

답변

0

당신은 불가능 아약스 크로스 도메인을 사용 할 수없는 다음과 같은 생각 가지 옵션이 있습니다 ..

자신의 페이지 아약스 1.do

및 해당 페이지에 컬 전화를 걸

2.do $ .getJSON ('ur', 변수, 함수 (데이터) {}).

는 다른 몇 가지 해결책이있다, 그러나 그 둘은 기본적으로 가장 좋은 옵션입니다

여기

해서 getJSON 작동하는 방법이다 :

서버에

당신의 $ _GET 종류를 수신 할 준비가되어있는 페이지가 있어야합니다 API 또는 정상적인 아약스 호출은 $ _POST와 관련이 있습니다.

$.getJSON("SomePage/PagethatTakesTheGet.php?jsoncallback=?", {variable:15}, function(response){ 
    // do whatever you want with response. 
}); 
+0

당신이 시작으로 내 코드를 사용하는 예제를 제공 할 수있다 :

<?php if(!empty($_GET['jsoncallback']) && !empty($_GET['variable'])){ /* do whatever you like with the variable you get as get * * * **/ // echo the name of the callback function + the variables you want to receive back in JS echo $_GET['jsoncallback'].'('.json_encode($jason_echo).')'; } ?> 

귀하의 JS 또는 페이지 당신이 뭔가를 보여야에서 전화를 할 예정 :

같은 보일 것이다 포인트를 사용하여 jetJSON. 감사 드리고 싶군요. – user2453942

+0

getjson을 사용하면 "서버"에 페이지를 만들거나 액세스해야하는 상호 도메인 주소, 전화 수신 허용 및 함수 재시도 필요가 있습니다. 곧 예제를 제공 할 것입니다. –

+0

괜찮아요. 내 대답이 당신을 위해 고쳐졌습니다 .. 전화가 PHP에서 반환 된 변수의 래퍼 여야한다는 것을 잊지 마십시오. –

관련 문제