您的当前位置:首页正文

Ajax提交参数的值中带有html标签不能提交成功的解决办法

2020-11-27 来源:伴沃教育

这篇文章主要介绍了Ajax提交参数的值中带有html标签不能提交成功的解决办法,非常不错,具有参考借鉴价值,需要的朋友参考下

最近在公司做资源及文章上传功能遇到一个小问题。

该功能就类似利用富文本编辑器发布信息,但是用Ajax提交数据,因此提交参数值中不可避免的含有html标签。

在本地运行代码一直没问题,总是可以提交成功,但是代码部署到线上就不能成功提交数据了,被坑了好久,找了好半天才找到问题所在。

提交不成功的原因是因为我的提交数据中含有html标签,然后直接无法请求到我的目标地址。

然后解决办法如下:

1、在页面用JS的Base64编码(类似加密)带有html标签的参数值。

2、在目标地址获取到数据后,利用后台Base64解码方法对获取到的数据进行解码即可。

以下是我的JS的Base64编码和解码方法代码:

页面调用JS方法进行Base64编码代码如下:

但是呢,又遇到一个新的问题,用JS对数据进行Base64编码后,JS居然把加号(+)替换成了空格,造成我后台方法解码出来的数据不正确。

解决办法如下:

本人首先采用JS方法replace()方法进行替换,但是有错误,JS只是把我的第一个空格替换成了加号(+),最后解决办法如下。

在后台(目标接受地址下)对获取到的数据,把空格替换成加号(+)。代码如下:

如果后台的Base64编码和解码方法不会的请看下面:

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Ajax post请求跳转页面

Ajax提交表单页面刷新很快的解决方法

Ajax打开新窗口被浏览器拦截的两种解决办法

显示全文