Xaq*_*ron 15 asp.net response.redirect http-get http-post
我想将响应重定向到另一个URL,同时它的HTTP头中包含一些POST数据.
// Inside an ASP.NET page code behind:
Response.Redirect("http://www.example.com/?data=sent%20via%20GET");
// This will sent data to http://www.example.com via GET.
// I want to POST this data to http://www.example.com instead.
Run Code Online (Sandbox Code Playgroud)
如何在ASP.NET中执行此操作?
Gov*_*iya 53
你可以通过这个技巧发送大量数据..
Response.Clear();
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>",postbackUrl);
sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", id);
// Other params go here
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");
Response.Write(sb.ToString());
Response.End();
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 12
您无法使用重定向进行POST.根据定义,重定向意味着服务器使用新位置向客户端发送302重定向HTTP状态代码,以便客户端向此新位置发出GET请求.这就是HTTP协议的工作方式,你可以做些什么.
因此,实现此目的的一种方法是重定向到某个临时页面,该页面将包含一个HTML <form>,method="POST"其中包含您要作为隐藏字段发送的值.然后你可以使用javascript自动提交这个表单.
| 归档时间: |
|
| 查看次数: |
41074 次 |
| 最近记录: |