Ext Post转换IE11中的字符

时间:2017-04-06 20:31:07

标签: extjs internet-explorer-11 microsoft-edge extjs6

我注意到在IE11和Edge(但不是Chrome)中,Extjs6以奇怪的方式编码我的jsonData。如果我使用字符串' 8/17/2016 13:07:00'进行POST作为jsonData参数之一,它将通过' \ u200e8 \ u200e / \ u200e17 \ u200e / \ u200e2016 13:07:00'在请求正文中。

我还注意到,如果我将Ext.JSON.encode(' 8/17 / 2016 13:07:00')输入到控制台中,它会将字符串转换为相同的字符串办法。我怀疑Extjs正在使用IE的编码器(因为Chrome可以工作),所以它确实是一个IE问题而不是Extjs问题。你能否解释为什么会发生这种情况,以及是否有一种格式不能为我的POST不正确转换?

2 个答案:

答案 0 :(得分:0)

据我所知,这里有一个简单的错误。

待办事项

Ext.JSON.encode("8/17/2016 13:07:00")

而不是

Ext.JSON.encode('8/17/2016 13:07:00')

然后它将它作为你想要的字符串。

还有一件事,这个问题也将出现在最新的Chrome版本中。

答案 1 :(得分:0)

一旦我发现问题与toLocaleDateString()有关,那么我发现这篇帖子回答了这个问题: ToLocaleDateString() changes in IE11

取代Ext.encode(新日期('2016-08-17T06:37:00')。toLocaleDateString()),使用Ext.encode(新日期('2016-08-17T06:37:00') .toLocaleDateString()。replace(/ \ u200E / g,''))