2011-09-15 9 views
0

私はmemcacheにアクセスし、保存されたjavascriptコードを取得するphpファイルを持っています。このファイルは、jsコンテンツをエコーし​​ます。私はこのファイルにアクセスするためにiFrameを使用しています。しかし、今、iFrameを使用せずにこのJSコードを取得する必要があります。私はAJAX呼び出しを作成し、そのjsコードを取得することを考えています。問題は、そのPHPファイルがクロスドメインであることです。私は、Ajaxがクロスブラウザを操作できないことを知りました。 JSONPは答えを保持します。しかし、私は構文を知らない。私は多くの文書をチェックしましたが、それを行う方法を理解できませんでした。jqueryのJSONPからjavascriptコードを取得する方法

これは私のPHPファイルのmemcacheJs.phpです:

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

私はAjaxのレスポンスとしてそのjs_codeを取得し、MC_IDを送る、このファイルを呼び出す必要があります。私はjqueryのの、このコードを試みた:

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);}); 

をしかし、何をすべきか、働いていないのですか? 助けてください

答えて

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

もう1つの疑問は、私が受信するデータは、javascriptコードになります。では、dataTypeを定義する必要がありますか? – Shades88

+0

はい、必要です。実際にはjsonというデータを受け取るべきです。これはJavaScriptのサブセットであり、100%のjavascriptではないので、json_encodeを使用してPHPからエクスポートする必要があります。 –

関連する問題