0

CakePHP 2.1 では、空の応答 (firebug でチェック) を取得し、エラー コールバックをトリガーする ajax 要求があります。

私の.jsから、必要なデータベースレコードを提供するために、同じサーバーのケーキの外からphpを呼び出しています。

function updateDiv() {
    $.ajax({                                      
        url: 'http://myserver/phpGenesi/api.php',
        data: "",
        dataType: 'json',
        success: function(data)
        {   
            alert(data);
        },
        error: function(data)
        {   
            alert('error')
        } 
    });        
}

これはサーバー上の PHP コードです (うまく動作し、CakePHP ではなく、単に PHP db データです):

$result = mysql_query("SELECT * FROM $tableName where project_id = 101"); 
$array = mysql_fetch_row($result);      


if (mysql_num_rows($result) > 0)  
{  
$responses = array();
while($row = mysql_fetch_assoc($result)) {
    $responses[] = array(  
        'id' => $row['id'],  
        'name' => $row['name'],  
        'dir_description' => $row['dir_description'],
        'project_id' => $row['project_id'],
        'dir_notes' => $row['dir_notes'],
        'dir_dataname' => $row['dir_dataname']
    );  
}
echo '{"dirs": ' . json_encode($responses) . '}';
}

たとえば、ケーキの外部から同じphpにアクセスすると、結果がうまくいきます。

http://myserver/phpGenesi/api.php

私が必要なものを返します:

{"dirs": [{"id":"240","name":"c","dir_description":"Carlos Test c","project_id":"101","dir_notes":"c","dir_dataname":"c"},{"id":"241","name":"d","dir_description":"Carlos Test d","project_id":"101","dir_notes":"d","dir_dataname":"d"}]}

また、任意のクライアント ドキュメントから呼び出された場合にも機能します。

問題は、ケーキのドキュメント内から呼び出すときです。Firebug が空の応答を示し、ajax エラー関数がトリガーされます。

何が欠けているかについて何か考えはありますか?エラー関数をトリガーしているエラーが発生していることを知るにはどうすればよいですか?

4

0 に答える 0