2011-09-15 5 views
0

memcache에 액세스하고 저장된 자바 스크립트 코드를 가져 오는 PHP 파일이 있습니다. 이 파일은 js 내용을 에코합니다. 이 파일에 액세스하기 위해 iFrame을 사용하고 있습니다. 하지만 이제 iFrame을 사용하지 않고이 JS 코드를 가져와야합니다. 나는 AJAX 호출을 만들고 그 js 코드를 가져올 생각이다. 문제는 PHP 파일이 교차 도메인이라는 것입니다. 나는 아약스가 크로스 브라우저를 작동시킬 수 없다는 것을 배웠다. JSONP는 답변을 보유하고 있습니다. 하지만 구문을 모른다. 나는 많은 문서를 검사했지만 그것을하는 방법을 알아낼 수 없었다.jquery에서 JSONP에서 자바 스크립트 코드를 가져 오는 방법

이 내 PHP 파일 memcacheJs.php입니다 :

$id  = $_GET['mc_id']; 
$js_code = $memcacheRW->get($id); 
echo   $js_code; 
$memcacheRW -> delete($id); 

내가 mc_id를 보내,이 파일을 호출해야 아약스 응답으로 그 js_code를 얻을. 그것이 작동하지 않는

var jsCode  = "js_code="+_cO.cmK[keyword].ad[0][4]; 
var crossDomURL = "http://ph.cm.shades1ld1/frame2.php"; 

$pH.getJSON(crossDomURL+"&callback=?", function(data) {alert(data);}); 

하지만,해야 할 일 : 나는 JQuery와의이 코드를 시도? 도와주세요

답변

1

jsonpCallback param을 (를) 찾으십시오. 콜백 함수와 일치해야합니다. 다음은 jsonP (단순화 된)를 사용한 작업 예제입니다.

$.ajax({ 
     url: "/myUrl.php", 
     data: { 
      'date' : '2011-01-01', 
      'specie' : 'cervus' 
     }, 
     dataType : 'jsonp', 
     jsonpCallback: 'onModify', 
     success: function(data){ 
      console.log(data); 
      return false; 
     } 
    }); 

//the php code 
$data = array('some', 'values', 'in','response'); 
echo "onModify(". json_encode($data).")"; 
+0

내가 의심하는 데이터는 자바 스크립트 코드입니다. 그렇다면 dataType을 정의 할 필요가 있습니까? – Shades88

+0

예. 사실 json으로 데이터를 받아야합니다. json은 100 % javascript가 아닌 javascript의 하위 집합이며 json_encode를 사용하여 PHP에서 내 보내야합니다. –

관련 문제