Javascript не декодирует JSON

Как правильно кодировать / декодировать данные с помощью JSON, используя PHP и Javascript?

Мой PHP прост:

session_start();
header('Content-type: application/json');
echo json_encode($_SESSION['orl']);

Простые пары имя-значение в тексте, никаких объектов или чего-либо еще.

Мой JavaScript

function checkForSeshStuff(){
    window.alert("check sesh called");
    GM_xmlhttpRequest({
        method: "GET",
        url: "http://internal.example.com/orl_get_sesh.php",
        onload: function(response) {
            window.alert(response.responseText);
            var obj = JSON.parse(response.responseText);
            window.alert(obj.count);
            if(obj.count > 1){
                document.getElementById('ajaxSeshStat').innerHTML = "<input type='button' onclick='loadLastSesh();' value='Populate "+obj.count+" Fields' />";
                document.getElementById('ajaxSeshStat').style.display = "block";
            }
        }
    });
}

У меня есть куча предупреждений для отладки, третья, которая каждый раз предупреждает, что количество предупреждений JSON "неопределено".

Я использую правильный тип MIME в моем PHP? Я правильно анализирую в моем JS? В чем дело?

РЕДАКТИРОВАТЬ Вот строка данных JSON, сгенерированных PHP

{"BodyContent_ctl00_ctl00_chRead":"on","BodyContent_ctl00_ctl00_txtOfferCode":"xc","BodyContent_ctl00_ctl00_txtFirstName1":"cx","BodyContent_ctl00_ctl00_txtCity1":"Beverly Hills","BodyContent_ctl00_ctl00_txtZip1":"90210","BodyContent_ctl00_ctl00_txtMonthlyIncome1":"0","BodyContent_ctl00_ctl00_txtOtherIncome1":"0","BodyContent_ctl00_ctl00_chbCoBorrowerContactInformation":"on","BodyContent_ctl00_ctl00_txtMonthlyIncome2":"0","BodyContent_ctl00_ctl00_txtOtherIncome2":"0"}

1 ответ

Решение

Есть ли в вашей сессии элемент count в массиве? Это не похоже на это.

Ты пытался:

alert(obj.BodyContent_ctl00_ctl00_txtZip1)
Другие вопросы по тегам