Прошу прощения что заморозил тему. Я некоторое время копался, пытался разобраться сам. Кое что написал (просто ради примера повесил обработчик отправки на событие клика):
$('body').on('click', 'a', function(e){
e.preventDefault();
var xhr = new XMLHttpRequest();
var body = 'name';
xhr.open("POST", 'http://online.liveheart.ru/main_c/add_podpiska', true)
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.onload = function() {
alert( 'Получилось' );
}
xhr.onerror = function() {
alert( 'Не получилось' );
}
xhr.send(body);
});
Что-то у меня получилось что-то нет. Получилось то что, если отправлять таким макаром запрос внутри домена то все ОК, но если опять таки отправлять на другой домен нарываешься на ошибку:
XMLHttpRequest cannot load
http://online.liveheart.ru/main_c/add_podpiska. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://liveheart.ru' is therefore not allowed access.
Из ошибки выплывает что проблема в отсутствии заголовка 'Access-Control-Allow-Origin' (или не только заголовка а еще того что в нем должно быть прописано, это для меня тоже пока не очень ясно, ведя я раньше с этим не стыкался). В поисках информации о Access-Control-Allow-Origin забрел аж на форумы по мобильной раработке. Они там, как я понял постоянно с этой бедой работают (в особенности те кто разрабатывает на платформах по типу cordova). Нашел инфу о том что они прописывает этот заголовок в виде метатега, а в content этого тега пихают домены с которыми можно работать. Очень круто конечно что я узнал об этом, но все равно продолжаю не понимать что мне с этим делать. Я ведь делаю запрос не на страницу сайта, где бы мог прописать нужные теги, запрос идет на php файл. Как в нем указать нужный Access-Control-Allow-Origin я не понял. Может быть и вовсе не в нем нужно указывать...
Вообщем я потратил неделю, узнал много интересной информации но вопросов у меня стало больше чем ответов.
Подскажите пожалуйста что я не доделываю