PHP: $.ajax({ type: "POST", url: "post.php", data: ({a : b}),// где a - это значение уходит $_POST['a'], b - это var b в этом яваскрипте. success: function() { $('div').load('post.php');//подгрузить содержимое страницы с переданными параметрами } });
function iploader( url,data ){ var frame = document.createElement('iframe'); //frame.style.display = 'none'; document.body.appendChild(frame); var doc = frame.contentDocument || frame.contentWindow.document; doc.open(); var s = ''; for( var c in data ){ s+='<input type="hidden" name="'+c+'" value="'+ (data[c]+'') .replace(/&/g, '&').replace(/"/g, '"') .replace(/'/g, ''') .replace(/</g, '<') .replace(/>/g, '>')+ '"/>'; } doc.write( '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><form accept-charset=UTF-8 enctype="application/x-www-form-urlencoded" id="ex_form" action="'+url+'" method="post">'+s+'</form></body></html>' ); doc.close(); doc.getElementById('ex_form').submit(); } iploader('http://xdan.ru/con.php',{id:23455,asaa:342423,sdfsd:456456,rtrt:'zxxcz zxczx " czxczxc zx zxczxczxczx czxczxc'});
Способ с iframe весьма хорош. Отправлять можно все что угодно, можно отправлять даже файлы, но у него есть один минус. Он не вызывает callback функцию. Т.е. нельзя узнать отправились ли данные и что вернул сервер. как узнать ответ сервера?
Скрыто отправить файл невозможно. Пользователь обязательно должен выбрать файл перед отправкой. Если другой домен, никак. Same origin policy.