异步请求时,JSON.stringify()导致data参数中加号(+)丢失

异步请求,构造参数时,有时会因为参数构造的错误,而导致数据中+的丢失

如下请求

var paramData = {content: '9+9+9'};
$.ajax({
	type: 'post',
	url: 'http://test',
	data: 'param:' + JSON.stringify(paramData),
	success: function(data){
		console.log(999);
	}
});

在Network中,会发现+丢失

param:{"content":"9 9 9"}:

.解决方案

讲英文+替换为中文+


var string =  'a9的"+"a9++9';
string = string.replace(/[+]/g, '+');
console.log(string);
var paramData = {content: string};
$.ajax({
	type: 'post',
	url: 'http://test',
	data: JSON.stringify({param: paramData}),
	success: function(data){
		console.log(999);
	}
});



JSON.stringify(data)是一个JavaScript函数,用于将一个JavaScript对象或数组转换成一个JSON格式的字符串。它可以将支持JSON格式的数据序列化为字符串,但不能处理不支持JSON的数据类型,如函数、undefined等。在引用的例子,通过JSON.stringify(data)将一个JavaScript对象转换为了一个JSON格式的字符串。具体来说,这个例子的数据是一个包含了iccid、operatorName等属性的对象,通过JSON.stringify函数将其转换为了字符串。转换后的字符串的长度为214个字符,并且被包含在方括,表示这是一个包含了一个对象的数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [JSON.stringify方法详解](https://blog.csdn.net/Sparks550/article/details/122099443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [JSON.stringify(data)作用](https://blog.csdn.net/weixin_63681863/article/details/131993029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值