JQuery AJAX возвращает тип документа и кучу других вещей, которые я не хочу - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь получить некоторые данные через ajax, и я по любой причине получаю тип документа, название, метаданные ... и данные, которые мне нужны. Все, что я хочу, это данные JSON. Я использую Joomla 1.5

Мой JQuery:

jQuery(document).ready(
    function() {
        jQuery('#catagoryChange').click(
            function (event) {
                event.preventDefault();
                jQuery.getJSON("index.php?option=com_test&task=aJax&tmpl=component")
                    .success(function(data) {alert(data.myName); })
                    .error(function(data) {alert("error"); });
            } // end of function event
        ); // end of click
    } // end of function 
); // end of document.ready

моя функция, которая должна отображать только json:

function testAxaj() {
    $json = '
    {
        "myName": "Testing"
    }
    ';

    header('Content-type: application/json');
    echo $json;
}

И это то, что он возвращает

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr" >
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="robots" content="index, follow" />
  <meta name="keywords" content="joomla, Joomla" />
  <meta name="description" content="Joomla! - the dynamic portal engine and content management system" />
  <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
  <title>Administration</title>
  <link href="/Test/administrator/templates/khepri/favicon.ico" rel="shortcut icon" type="image/x-icon" />
  <script type="text/javascript" src="/Test/includes/js/joomla.javascript.js"></script>
  <script type="text/javascript" src="/Test/media/system/js/mootools.js"></script>


<link href="templates/khepri/css/general.css" rel="stylesheet" type="text/css" />
<link href="templates/khepri/css/component.css" rel="stylesheet" type="text/css" />


</head>
<body class="contentpane">


        {
            "myName": "Testing"
        }

</body>
</html>

Ответы [ 3 ]

1 голос
/ 20 апреля 2011

Для меня это больше похоже на проблему с Joomla. Вам нужно настроить его так, чтобы шаблон HTML вообще не отображался.

0 голосов
/ 20 апреля 2011

Я понял это!Мне нужно было использовать функцию выхода php после эха:

function testAxaj() {
    $json = '
    {
        "myName": "Testing"
    }
    ';

    header('Content-type: application/json');
    echo $json;
    exit;
}

Работает отлично сейчас!: -)

0 голосов
/ 20 апреля 2011

попробуйте изменить функцию php на:

function testAxaj() {
    $json = array("myName" => "Testing");

    header('Content-type: application/json');
    echo json_encode($json);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...