0

別のサイトで使用した方法を使用しています。理由はわかりませんが、AJAX は "Arraynull" というエラーを投稿し続けます。これが「配列が null である」ことを意味することは理解していますが、mysql ステートメントを実行すると、多くの結果が得られます。

データは Joomla の MVC コンポーネントから構築されます。クエリは、私がテストしているように、非常にシンプルです。

function loadOpenhouse() {
    $db = JFactory::getDBO();
    $query = "
        SELECT *
            FROM ".$db->nameQuote('#__mls').";";
    $db->setQuery($query);
    $openhouse = $db->loadRowList();
    echo $openhouse;
}

次に、ビューはそれを JSON に入れ、エコーします。

function display($tpl = null) {
        $model = $this->getModel();
        $array = $model->loadOpenhouse();
        echo json_encode($array);
}

繰り返しますが、単純な AJAX 呼び出し...

function runQuery(){

var url = 'index.php?option=com_singleprop&view=raw&format=raw';

$.ajax({
    url: url,
    dataType: 'json',
    success: function(data){ 
        $('#prop_details').append(data);
    },
    error: function(jqXHR, error, errorThrown) {  
            alert(jqXHR.responseText); 
    }
});

};

しかし、アラートで「Arraynull」を取得し続けます。配列は null であってはなりません。CMD でクエリを実行すると、値が取得されます。

4

1 に答える 1

1

クエリ結果をエコーする代わりに、それを返します。

return $openhouse;
于 2013-01-16T20:19:09.350 に答える