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)