-1
<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に行きますリダイレクトはありません。

4

1 に答える 1

1

フォームがを使用するmethod="get"場合、クエリパラメータはアクション属性から消去され、フォーム要素はURLのクエリ文字列にURLエンコードされます。

POSTを使用できる場合は、使用するフォームを変更するだけで機能しmethod="POST"ます。URLの名前と値を正しくエンコードする必要があります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>

ここに画像の説明を入力してください

URLにはURLが含まれているため、次のような特別なURL固有の文字をエスケープする必要があります&=

于 2013-01-08T00:30:18.087 に答える