js的form表单提交url传参数(包含+等特殊字符)的两种解决方法

js的form表单提交url传参数(包含+等特殊字符)的两种解决方法,第1张

方法一:(伪装form表单提交

linkredwin

=

function(A,B,C,D,E,F,G){

var

formredwin

=

document.createElement("form")

formredwin.method

=

'POST'

document.body.appendChild(formredwin)

formredwin.action

=

"http://www.A.com/A.wiki?A="

+encodeURI(A)

+

"&B="

+encodeURIComponent(B)

+

"&C="

+encodeURI(C)

+

"&D="

+encodeURI(D)

+

"&E="

+encodeURI(E)

+

"&F="

+encodeURI(F)

+"&G="+encodeURI(G)

formredwin.submit()

formredwin.parentNode.removeChild(formredwin)

}

方法二:

1.

+

URL

中+号表示空格

%2B

2.

空格

URL中的空格可以用+号或者编码

%20

3.

/

分隔目录和子目录

%2F

4.

?

分隔实际的

URL

参数

%3F

5.

%

指定特殊字符

%25

6.

#

表示书签

%23

7.

&

URL

中指定的参数间的分隔符

%26

8.

=

URL

中指定参数的值

%3D

以上这篇js的form表单提交url传参数(包含+等特殊字符)的两种解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

个人认为,你指的action只是个标记,不是固定的,它代表着一种 *** 作(这只是一种猜测,具体意思只有程序的编写者才知道)。在这里,你可以将action换为其他, 如:operation等等你喜欢的任意标志。

这个标志的作用就是你可以到后台通过它获取到等号后面的值,所以你只要前台后台的标志一样就OK,你问“addChannel”是参数还是方法,我觉得都不是,它只是一个字符串。

举个例子:action=“servlet?action=adduser&name=user&age=20”

action:代表一种 *** 作,什么 *** 作呢?就是adduser这个 *** 作(后台获得String action= request.getParameter("action")取得adduser这个字符串,然后再调用添加用户的方法,假如action=delete 则调用删除用户的方法,如此)。

而name,age等号后面的值就是表示用户的名字和年龄。

ajax只是模拟表单提交,数据都是通过js组装好再提交各指定的action

页面上的form表单只能通过form的submit()来提交,

多个表单不能同时提交,提交会导致页面跳转,除非设置form标签的target属性,分别指向三个不同的iframe


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11650334.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存