我第一次遇到这种奇怪的情况。我已经使用过Ajax和不同类型的参数。我试图用contentType来解决这个问题,但它似乎不起作用。
我试着使用文档的UTF-8和上面提到的contentType之类的格式。
$.ajax({
url: "/Test",
type: "POST",
data:
{
'ID':$(this).attr("ID"),
'Date':$(this).attr("Date")
},
dataType: "json",
cache: false
})ID=12345&Date=01.01.2018+00%3A00%3A00 // Is ID=12345&Date=01.01.2018 00:00:00 //应该是
因此,我无法在Delphi (Rad )中将其转换为double类型:
类型变体(UnicodeString)不能转换为双倍
发布于 2018-07-17 14:55:40
您的字符串已被html编码。Html在将其转换为日期之前在服务器端对其进行解码(或者在您的情况下是双倍)。
Most ajax libraries will do this automatically.可能就是您所做的,因此在日期字符串中使用html编码。这是奇怪的,你从来没有注意到它,因为它是相当正常的行为在一个帖子。
要在Delphi中修复,请查看HTTPApp单元。HTTPDecode和HTMLDecode (以及编码函数)。您应该在Source/Win32 32/Internet文件夹中找到它。
See this SO question as the above paragraph answer came from there.
https://stackoverflow.com/questions/51384093
复制相似问题