从JavaScript
我试图将一些变量传递给后端。我的代码如下。使用POST方法传递参数
我的要求:
我希望送这肯定会来更多的300个字符,不会与一个GET
请求符合用户的姓名,电子邮件和说明。因此,我怎样才能发送一个POST
请求与这些参数。有人可以帮我吗。
注:我的后台是C#
window.location.href = "/Account/New?fullname=". $data.fullName;
从JavaScript
我试图将一些变量传递给后端。我的代码如下。使用POST方法传递参数
我的要求:
我希望送这肯定会来更多的300个字符,不会与一个GET
请求符合用户的姓名,电子邮件和说明。因此,我怎样才能发送一个POST
请求与这些参数。有人可以帮我吗。
注:我的后台是C#
window.location.href = "/Account/New?fullname=". $data.fullName;
您可以创建一个表单,并通过JavaScript执行以下操作提交:
function submitFullName(fullName, destination)
{
var form = document.createElement("form");
var input1 = document.createElement("input");
form.method = "POST";
form.action = destination;
input1.value=fullName;
input1.name="fullname";
form.appendChild(input1);
document.body.appendChild(form);
form.submit();
}
@VladimirM取得了良好的点,你可以使用直接使用XMLHttpRequest来执行POST而不是创建表单对象:
function submitFullName(fullName, destination)
{
var xhr = new XMLHttpRequest();
xhr.open("POST", destination, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("fullname="+fullName);
}
为什么创建一个窗体,当你可以创建POST请求? –
@VladimirM是的。我只想知道如何创建一个GET请求,而不使用FORMS – Illep
@Illep你的意思是“POST”?无论如何,我在上面评论 –
通过使用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;'用'+'代替'.'来连接。 –
downvote的原因是什么? – Illep
获取请求实际上是“有点”超过300个字符,除非您试图对网络盒子安全。那么你的限制是255.无论如何,取决于选择的图书馆/框架,答案会有所不同。在香草的JavaScript,你可以在这里阅读:[http://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest]。顺便说一句,对于4 + K代表你的问题有点糟糕的研究。 –