У меня есть эта часть AJAX, которая проверяет учетные данные для входа, отправив имя пользователя и пароль с помощью метода GET. Я хочу обновить этот код, чтобы использовать метод POST, но я не знаю, с чего начать или что менять.AJAX отправить на страницу с помощью метода POST
Причина, по которой я делаю это, - данные, которые будут отправлены на другую страницу, будет большой, и GET не отправит все это.
Это код, у меня есть:
function createObject()
{
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request_type = new XMLHttpRequest();
}
return request_type;
}
var http = createObject();
var usr;
var psw;
function login()
{
usr = encodeURI(document.getElementById('username').value);
psw = encodeURI(document.getElementById('password').value);
http.open('get', 'login.php?user='+usr+'&psw='+psw);
http.onreadystatechange = loginReply;
http.send(null);
}
function loginReply()
{
if(http.readyState == 4)
{
var response = http.responseText;
if(response == 0)
{
alert('Login failed! Verify user and password');
}
else
{
alert('Welcome ' + usr);
document.forms["doSubmit"].elements["usr"].name = "usr";
document.forms["doSubmit"].elements["usr"].value = usr;
document.forms["doSubmit"].elements["pwd"].name = "pwd";
document.forms["doSubmit"].elements["pwd"].value = psw;
document.forms["doSubmit"].action = location.pathname + "user/";
document.forms["doSubmit"].submit();
}
}
}
Этот код использует GET и отправить параметры в URL и ждет ответа. Я хочу отправить параметры через POST из-за размера.
Данные, которые будут отправлены в течение <textarea name='taData' id='taData'></textarea>
Это опасный путь для проверки учетных данных. Переменные _GET на 100% подвержены третьим сторонам, поэтому передача пароля через URL-адрес действительно не должна использоваться. –
@BenD Вот почему он хочет использовать 'POST' – xandercoded
Я приветствую его за переключение на пост, но« Причина, по которой я делаю это, - это данные, которые будут отправлены на другую страницу, будут большими, а GET не отправит все это. »... это не причина, по которой он должен переключиться ... на самом деле, он может обойти большинство ограничений длины URL, перенастроя свой веб-сервер (если только эта строка не является абсолютно массивной, и он попадает в кеш браузера) ... Я должен был прояснить это в своем первоначальном комментарии. –