Попробуйте этот код, он отлично работает
назначает переменную post переменной
$username = $_POST['uname'];
$password = $_POST['pass'];
$result = mysql_query('SELECT * FROM userData WHERE UserName LIKE $username');
if(!empty($result)){
while($row = mysql_fetch_array($result)){
echo $row['FirstName'];
}
}
Вы не можете устанавливать или читать файлы cookie для запросов CORS через JavaScript. Хотя CORS разрешает запросы с кросс-началом, куки-файлы по-прежнему зависят от политики браузера с одинаковым исходным кодом, что означает, что только страницы из одного источника могут читать / записывать cookie. withCredentials
означает, что любые файлы cookie, установленные удаленным хостом, отправляются на этот удаленный хост. Вам нужно будет установить cookie с удаленного сервера с помощью заголовка Set-Cookie
.
Обратите внимание, что это не решает процесс обмена файлами cookie, так как в целом это плохая практика.
Вы должны использовать JSONP в качестве своего типа:
From $. ajax: запросы на междоменные и dataType: запросы «jsonp» не поддерживают синхронную работу.
$.ajax(
{
type: "POST",
url: "http://example.com/api/getlist.json",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Cookie", "session=xxxyyyzzz");
},
success: function(){
alert('success');
},
error: function (xhr) {
alert(xhr.responseText);
}
}
);
У меня была такая же проблема. Идентификатор сеанса отправляется в файл cookie, но поскольку запрос является междоменным, настройки безопасности браузера блокируют отправку файла cookie.
Решение. Создайте идентификатор сеанса на клиенте (в браузере ), используйте Javascript sessionStorage для хранения идентификатора сеанса, затем отправьте идентификатор сеанса с каждым запросом на сервер.
Я много боролся с этой проблемой, и не было много хороших ответов. Вот статья, в которой подробно описывается решение: Междоменный запрос Javascript с сеансом