項目需要,接口提交數據時會根據數據加密生成一個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");
}
}