我使用 WordPress REST-API 上传 csv 文件并将文件内容作为 HTML 表返回。
据我了解文档https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/#return-value回调应该返回响应,并且不回应它。但如果我使用 return,我会得到所有编码的变音符号(/u00fc 而不是 ü)。如果我回应他们,一切都好。
我猜问题是WordPress通过使用wp_json_encode()返回json来包装返回值。当然,我可以回显 HTML 表格,但我需要 json 格式的数据,而 HTML 仅用于开发。
有没有办法防止编码中出现元音变音等? 如果没有,我如何通过js在客户端撤消此操作。我尝试使用decodeURIComponent()(由于提示一次甚至两次,但没有希望),我尝试了unescape()。
直接在REST API端点回调函数中回显返回一般不会有问题。然而,重要的是要确保响应的格式正确并且没有附加内容随响应一起发送。在前面提供的代码片段中,直接回显 JSON 响应是 WordPress REST API 开发中的常见做法。
这就是为什么直接回显响应通常是安全的:
但是,当直接回显响应时,确保以下几点至关重要:
只要考虑到这些因素,在大多数情况下直接回应响应不会造成任何重大问题。
在 JavaScript 中,您可以使用 JSON.parse() 来解码 JSON 字符串,其中包括将 Unicode 转义序列(如 \u00d9)解码为其相应的字符。因此,只需在 JSON 字符串上使用 JSON.parse() 就会自动解码值(包括元音变音),并将它们作为普通字符返回。”