Php 如何从AJAX返回值?

Php 如何从AJAX返回值?,php,ajax,json,joomla,Php,Ajax,Json,Joomla,我不熟悉ajax和json。希望在这里能有一些帮助 my.php: jQuery(".btn").click(function() { var catid = jQuery(this).attr('id'); jQuery.ajax({ type: "POST", url: '../ajax.php', data: "catid=" + catid,

我不熟悉ajax和json。希望在这里能有一些帮助

my.php:

jQuery(".btn").click(function() {

            var catid = jQuery(this).attr('id');
            jQuery.ajax({
                type: "POST",
                url: '../ajax.php',
                data: "catid=" + catid,
                success: function(data)
                {
                    alert("success!");
                }
            });
        });
ajax.php:
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_BASE', dirname(__FILE__) );

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );

$catid = $_POST['catid'];

$db = JFactory::getDBO();
$user = JFactory::getUser();

if (isset($catid)){

    $sql = 'SELECT a,b,c,d';
    $sql .= ' FROM `#__table1` 1 INNER JOIN `#__table2` 2 ON 1.id = 2.id';
    $sql .= ' WHERE title COLLATE UTF8_GENERAL_CI like "%'.$catid.'%"';
    $db->setQuery($sql);
    $db->query();
    $num_rows = $db->getNumRows();
    $result = $db->loadRowList();

}
我需要将$num_行和$result列a、b、c、d返回到my.php才能继续。我该怎么做?json必须从数组返回值吗


谢谢大家!

您没有在PHP中打印/回显任何内容。如果您使用PHP打印某些内容,它将在AJAX的成功块中的数据中可用call@Raptor我应该在哪里回应?你的问题应该是应该回应什么?。如果$result包含查询结果,则可以使用echo json_encode$result;在$result行之后,我假设$result是一个关联数组。然后AJAX调用将收到JSON响应。