项目需要,接口提交数据时会根据数据加密生成一个sing签名,后端接口解密签名之后会进行比较,然后发现iOS端的多行文本框换行时换行代码\n在后端接收到是\r\n,但是提交数据的方式要是去掉new FormData()的话反而正常。找不到原因只能用点邪门歪道的方法,在代码加密之前通过正则进行转换:
let ua = navigator.userAgent;
let isIOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
for (var key in newData) {
if (typeof newData[key] === "string" && isIOS) {
newData[key] = newData[key].replace(/[\n|\r\n]/g, "\r\n");
}
}
网友评论