Используя window.location
, вы отправляете параметры по URL-адресу, что означает, что они отправляются методом GET
, а не по POST
.
Для отправки данных на сервер, используя POST
метод, вам придется либо отправить его по форме, которая определяется с method="post"
или, если вы не хотите, чтобы создать элемент формы, с помощью AJAX XMLHttpRequest
запроса.
Я хотел бы предложить, для обучения и простоты, чтобы начать с простой формой, например:
<form action="your-page-after-submittion.html" method="post">
<p>Your full name: <input type="text" name="fullname" /><br />
E-mail: <input type="text" name="email" /></p>
<p>Your message:<br />
<textarea name="message" rows="10" cols="40"></textarea></p>
<p><input type="submit" value="Send the from"></p>
</form>
Или, если вы хотите запрос AJAX, вы можете использовать следующее:
//prepare your data values to be sent in the request
var fullname = document.getElementById("fullname").value;
var email = document.getElementById("email").value;
var message = document.getElementById("message").value;
//create an XMLHttpRequest
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//submit the request to your desired page (user will not be redirected, as this is AJAX request
xmlhttp.open("POST","your-page-after-submittion.html",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fullname="+fullname+"&email="+email+"&message="+message);
''/Account/New? Fullname = "+ $ data.fullName;' использовать '+' вместо '.' для conciate. –
Причина для нисходящего потока? – Illep
получить запрос на самом деле «бит» более 300 символов, если вы не пытаетесь быть безопасным и сетевым. то ваш лимит равен 255. В любом случае, в зависимости от библиотеки/рамки выбора, ответ будет другим. В ванильном javascript вы можете прочитать здесь: [http://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest]. Кстати, для 4 + k ваш вопрос несколько плохо изучен. –