当我提交表单时,为什么这个URL会转到错误的位置?

时间:2013-01-08 00:26:28

标签: html forms

<html>
<head><title></title></head>
<body>
<form action="https://oauth.vk.com/authorize?client_id=3343995&scope=photos,wall,offline&redirect_uri=http://example.com/vkontakte/auth&response_type=code" method="get">
<input type="submit" value="Auth">
</form>
</body>
</html>

您好。我有这个HTML的问题。当我点击提交按钮时,我希望转到https://oauth.vk.com/authorize?client_id=3343995&scope=photos,wall,offline&redirect_uri=http://example.com/vkontakte/auth&response_type=code链接,但我转到https://oauth.vk.com/authorize没有重定向。

1 个答案:

答案 0 :(得分:1)

当您的表单使用method="get"时,查询参数将从您的操作属性中删除,表单元素将在URL的查询字符串中进行URL编码。

如果您可以使用POST,则只需将表单更改为使用method="POST",即可使用。您仍应正确编码您的网址名称和值http://jsfiddle.net/9FmtW/3/

如果您必须使用GET,则必须将查询参数作为隐藏字段包含在表单中http://jsfiddle.net/9FmtW/这样可以正确地对您的查询字符串参数进行URL编码

<form action="https://oauth.vk.com/authorize" method="get">
  <input type="hidden" name="client_id" value="3343995" />
  <input type="hidden" name="scope" value="photos,wall,offline" />
  <input type="hidden" name="redirect_uri" value="http://example.com/vkontakte/auth" />
  <input type="hidden" name="response_type" value="code" />
  <input type="submit" value="Auth" />
</form>

enter image description here

您的网址中包含网址,您需要转发特定网址特定字符,例如&=