-1

我在 Joomla 中的 AJAX 连接有问题。

AJAX

$(document).ready(function() {
    var results = $('#hidden').serialize();

    var url = '<php? echo JURI::base(); ?>index.php?option=com_mls&view=list&format=raw&' + results;

    $('#test').html(url); //Just to see that the string is working.

    $.ajax({
        url: url,
        success: function(){
            alert('success');
        },
        error: function(){
            alert('failure');
        }
    });

});

Joomla 模型view=list

function ListData()
{
    error_reporting(E_ALL);
    $db =& JFactory::getDBO();
    $sort = JRequest::getVar('sort');
    $pstart = JRequest::getVar('pstart');
    $plimit = JRequest::getVar('plimit');
    $hprice = JRequest::getVar('hprice');
    $lprice = JRequest::getVar('lprice');
    $city = JRequest::getVar('city');
    $zip = JRequest::getVar('zip');
    $bdrms = JRequest::getVar('bdrms');
    $bths = JRequest::getVar('bths');

    $query = "SELECT * FROM " . $db->nameQuote('#__mls') . " WHERE 1=1 ";
    if ($zip != null || $city != null || $bdrms != null || $bths != null || $hprice != null || $lprice != null){
        $firstand = "AND ";
    }
    $clauses = array();
    if ($zip != null) {
        $clauses[] = "MSTZIP = " . $zip;
    }

            ... a bunch of IF statements for building query...

    $query .= $firstand . implode(" AND ", $clauses) . $orderby . $pages;

    $db->setQuery($query);
    $table = $db->loadRowList();

    return $table;

Joomla 视图:

function display($tpl = null)
{
    $model = &$this->getModel();
    $array = $model->ListData();
    $this->assignRef( 'disparray', $array );
    parent::display($tpl);
}

在我能走路之前跑,我只是想让 AJAX 显示success。它不是。我不知道错误在哪里,也无法得到任何错误报告来帮助我。有任何 AJAX/Joomla 精明的人伸出援手吗?

4

2 回答 2

0

试试下面的代码

jQuery.post('index.php',{
                'option'    : 'com_mls',
                'controller': 'controllerName',
                'task'  : 'taskName',
                'format'    : 'raw',            
                'results'   :  results                        
            }).success(function(result) { 
               alert('success');
            }).error(function() { 
                alert('error');
            });

在控制器中,您可以拥有任何您想要的功能(任务名称)。如果您有任何问题,请告诉我

于 2012-12-18T20:50:59.970 回答
0

需要使用开发人员工具来查看 AJAX 查询字符串试图去哪里。之后,我能够确定需要在 URL 字符串中访问的正确 URL 和类。

//Removed '<php? echo JURI::base(); ?>'
var url = 'index.php?option=com_mls&view=list&format=raw&' + results;

感谢 Sajjan 的帮助。

于 2012-12-18T20:55:20.103 回答