2

SOで非常によく似たいくつかの質問をすでに読みましたが、解決策はどれもうまくいきませんでした。

問題は、たとえば、ビュー内の次のコードにあります。

$.ajax({
url: 'periodista/json',
async: false,
dataType: 'json',
success: function (json) {
$.each(json, function(k,v){valores.push(v); });

}

404 Not Found エラーが表示されますが、Firebug は応答を表示します (http://i.imgur.com/yG9cW.png)

file_get_contents 関数を使用して単純な php スクリプトから URL 応答を読み取ろうとしましたが、機能しません

$url="http://localhost/xampp/populus/wordpress/app/periodista/json";
$json = file_get_contents($url);

同じ回答が得られます (404 エラー、Firebug で応答を読み取ることができます)。

「index.php」URL、htaccess の助けを借りて index.php のない URL、および完全な URL を使用してみましたが、何も機能しませんでした。そして私はワードプレスを使用していません。

ビューにアクセスしようとするとコントローラーがロードされていないと思いますが、理由はわかりません。

編集: 私のコントローラー機能コード (Ignited Datatables ライブラリを使用しています):

    public function json()
{
    $datatables = new Datatables();
    $datatables->select('nro_boletin')->from('proyecto_de_ley');
    echo $datatables->generate();


    $data['title'] = "Periodista";
    $this->load->view('periodista/json', $data);

}
4

2 に答える 2

0

次のように、ビューをロードする代わりに、コンテンツ タイプ json を設定して出力してみてください。

public function json() {
    $datatables = new Datatables();
    $datatables->select('nro_boletin')->from('proyecto_de_ley');
    echo $datatables->generate();


    $data['title'] = "Periodista";
    $this->output
               ->set_content_type('application/json')
               ->set_output(json_encode($data));
   //OR
   header('Content-Type: application/json',true);
   echo json_encode($data);

}

ajaxを使用しているため、関数が呼び出されます

$.ajax({
    url: 'periodista/json', <-- your controllers function
    data: {"test" : "test" },
    async: false,
    dataType: 'json',
    success: function (json) { //output from your json function
          $.each(json, function(k,v){valores.push(v); });
    }
于 2012-12-05T03:40:03.640 に答える