Нельзя в рамках JS принять на другой странице POST данные, только GET. Пример я же вам и написал, а передать можно либо формой, либо сформировать url запроса, который присвоить объекту location. Например, пусть страница 1.html имеет форму:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="2.html">
<input name="key1" value="11" />
<input name="key2" value="22" />
<input type="submit" value="Send" />
</form>
</body>
</html>
При ее отправлении (а по умолчанию это отправка методом GET), будет запрошена страница 2.html с передачей параметров запроса. Отправьте форму и увидите url в адресной строке браузера.
Страница 2.html содержит JS-сценарий, который получает из url параметры запроса - имена полей формы и их значения:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="name"></div>
<script>
var data = location.search.substring(1).split('&'), s = '';
while(d = data.shift()) {
d = d.split('=');
s += 'Key: ' + d[0] + ', valye: ' + d[1] + '<br>';
}
document.getElementById('name').innerHTML = s;
</script>
</body>
</html>
Если же создается некий объект (в JS нет вообще ассоциативных массивов, есть объекты), то нужно этот объект преобразовать в строку GET-параметров:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script>
var o = {
key1 : 11,
key2 : 22
}, a = [];
//формируем параметры запроса
for(k in o) a.push(k + '=' + o[k]);
//отправляем запрос
location.href = '2.html?'+a.join('&');
</script>
</body>
</html>