0

私はjsonpをcodeigniterで動作させようとしています.適切なヘッダーで標準のjsonを生成しています..

   $this->output
        ->set_content_type('application/json')
        ->set_output($json_data);
    }

したがって、適切なヘッダーがjsonに設定され、上記の方法を使用して生成されたjsonに問題はありません..

現在 jquery を使用して、テストしています

<script>
  $(document).ready(function(){
  var url = "https://localhost/upload/latest/json/10&callback=?";
    $.getJSON(url,function(data) {
        alert(data);
    }); 
  });
  </script>

アラートは表示されません

一方、Twitterのjsonp URLはアラートを示しています

<script>
  $(document).ready(function(){
  var url = "https://twitter.com/status/user_timeline/twitter.json?count=10&callback=?";
    $.getJSON(url,function(data) {
        alert(data);
    }); 
  });
  </script>

config でクエリ文字列を有効にしました。

$config['enable_query_strings'] = TRUE;

codeigniter で jsonp の URL を設計する方法を教えてください。

ありがとう ...

4

1 に答える 1

2

JSONP、つまり指定されたコールバック関数の呼び出しに対してこれを返す必要があると確信しています

<?php header('content-type: application/json; charset=utf-8');

$json = json_encode($data);

echo isset($_GET['callback'])
    ? "{$_GET['callback']}($json)"
    : $json;
于 2011-07-25T19:02:31.970 に答える