【发布时间】:2021-06-25 20:52:15
【问题描述】:
我有一个包含无效空格字符的 JSON。我想在通过 Ajax (POST) 发送它之前删除这个空间。因为 "StopsCompleted" 后面的空格在 PHP 中无法实现(空响应)。
摘自 JSON
{"Name":"StopsCompleted ","Category":"Economy","DisplayName":"Haltestellen angefahren ","DisplayDetails":"2/2","Points":10,"IsBoolean":"false",
file.php
jQuery.getJSON("/SourceFile/Vehicles", function(data){
jQuery.ajax({
url: '/SourceFile/Vehicles_ajax.php',
type: 'POST',
data: JSON.stringify(data),
processData: false,
contentType: "application/json; charset=UTF-8",
success: function(data){
jQuery('.ausgabe').html(data);
}
});
});
Vehicles-ajax.php
$jsonString = file_get_contents('php://input');
$json = json_decode($jsonString);
print_r($json);
有人对这个问题有什么想法吗?
非常感谢。
【问题讨论】:
-
空间与您的问题无关。使用
json_last_error()并获得完整的错误描述。 -
也认为这是一个虚构的问题,因为空格几乎不是非法字符。
-
字符串不好。最后有一个尾随
,。它必须是}才能正确关闭它。StopsCompleted后面的空格与它无关,因为空格是字符串的一部分。 -
看看 JavaScript 做了什么……没有预期的功能。
-
如果失败,我可以看到这个错误:
SyntaxError: Unexpected token in JSON at position 1783,它位于“StopsCompleted”所在的位置。
标签: php jquery ajax post replace