JSON 不会"+"字符传输到 CGI 脚本



我目前正在做一个个人项目,在那里我必须处理一些化学公式;

我有一个带有JavaScript的表单,我可以在其中输入这些公式;这些公式是以类似LaTeX的超en下标样式输入的。

下面可以找到一个示例公式:

Fe^{3+}

当我使用JavaScript读取表单和console.log();时,公式按预期工作。然而,如果我将公式发送到后端(带有CGI的Python(,+字符似乎已经消失,并被一个空格取代。

我认为这与转义字符有关,因为公式的某些部分看起来很像regex,但环顾四周,我找不到任何表明我必须转义+字符的内容。

现在我完全不知道如何解决这个问题。。。我可以使用不同的字符并在后端替换它,但这似乎不是最佳解决方案。。。

最重要的问题:您是如何调用CGI脚本的

使用HTTP GET还是HTTP POST?

如果您正在使用HTTPPOST,并且数据是在HTTPData部分中传输的,那么您不需要转义"POST"+">

但是如果您使用的是HTTPGET+"在传输到CGI脚本之前,符号将首先根据URL编码标准进行翻译(因此,"+"变成一个空格(。

因此,在后一种情况下,需要来逃离"+"符号(以及诸如"%"one_answers"?"之类的其他"特殊"字符(。