json_encode,json.parse丢弃一个'+'性格
json_encode, json.parse dropping a '+' character?
一个快速问题
php函数json_encode还是js json.parse函数默认会删除"+"字符?我肯定在某个地方丢了一个"+",不知道在哪里。这是非常紧迫的,因为它实际上是来自realex的xml提要,它授权(或者在这种情况下不授权)在我们的一个直播网站上付款。为了让事情变得更复杂,我现在不能使用开发环境,也不能在实时网站的屏幕上打印值。因此,我正试图对启动进行猜测修复
好的,这是一些以前的
我从Realex 中得到一个值
$RESPONSE_THREEDSECURE_CAVV = 'jFvMUENpUEzLARAQBtmeh+Q5o/U=';
$parametersToPass['cavv'] = $RESPONSE_THREEDSECURE_CAVV;
parametersToPass数组中有更多的值,但这正是造成问题的原因。我用php 编码
$encoded = json_encode($parametersToPass);
die($encoded);
这在jquery ajax调用成功中作为"数据"返回
success: function(data) {
$.ajax({
type: "POST",
url: 'action/payment-process_auth.php',
data: "data="+data
});
}
我在支付过程中重新授权
$decoded = json_decode($_POST['data']);
$parametersToPass['cavv'] = $decoded->cavv;
此时cavv值为jFvMUENpUEzLARAQBtmeh Q5o/U=,而不是jFvMuENpUEz LARAQBtmeh+Q5o/U=(空格而非a+)
我该怎么解决?
否,json_decode
和JSON.parse
都尊重+
字符。
然而,在URL中,如果+
没有正确地URL编码为%2B
,它就会变成一个空间。。。因此,如果你是json_decode
正在使用$_GET
参数,这可能就是发生的事情。
尝试用AJAX以正确的JSON格式发布数据?
success: function(data) {
$.ajax({
type: "POST",
url: 'action/payment-process_auth.php',
data: {"data": data}
});
}
相关文章:
- 我可以在json对象中添加一个函数吗
- 根据id将json数组组合为一个json数组
- AngularJS&JSON-从Previous&下一个对象
- 将两个Json提要合并为一个,并按时间排序
- 处理一个JSON文件;完全相同的副本不是
- jquery从2个json字符串构建一个复选框表单
- 如何创建一个包含许多数组和数据的json对象
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 为json对象创建一个动态表
- 使用来自不同异步函数的响应创建一个json对象
- 创建一个带有可变字段的json对象
- 想要使用Javascript将一个JSON对象拆分为多个JSON对象
- 如何使用JavaScript forloop从JSON中删除最后一个逗号
- JSON:在另一个JSON对象中重用JSON对象
- 当我JSON.stringfy(对象)时,我得到一个疯狂的字符串作为值
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 使用transducer-js和most.js创建一个从Json到streams的管道
- 在JSON文件中查找一个元素,并将其显示为HTML
- json 一个 html 的安全方法
- XML 到 JSON 一个项目数组问题