griga, у тебя json не валидный получается.
в файле page.php смени содержимое на это:
<?php
if(!array_key_exists('category', $_GET)) die();
include('/scripts/connect.php');
$category=$conn->real_escape_string($_GET['category']);
$query = "SELECT id, subcategory FROM expenses_cat WHERE category='".$category."' AND inmenu = 1";
$result = $conn->query($query);
$output = array();
while($row=$result->fetch_assoc()){
$output[]=array(
$row['id']=>addslashes($row['subcategory'])
);
};
echo json_encode($output);
exit;
А строку с чтением категорий из ответа замени этим:
var Subcategories=JSON.parse(HTTPReq.responseText);
PS. Рекомендую почитать статьи про SQL-инъекции, как минимум.
Статей по этой теме полно, вот первая попавшаяся:
https://habrahabr.ru/post/148151/