使用javascript将URL编码为ASCII
我正在为API编码/解码请求和响应编写一个php脚本包装器。php脚本可以很好地处理表单,但我无法使用javascript(angular)发送正确编码的请求 详情如下:使用javascript将URL编码为ASCII,javascript,angularjs,json,ascii,encode,Javascript,Angularjs,Json,Ascii,Encode,我正在为API编码/解码请求和响应编写一个php脚本包装器。php脚本可以很好地处理表单,但我无法使用javascript(angular)发送正确编码的请求 详情如下: 我有一个编码请求(在客户端): {“ct”:“2UEXUFIKFIZET73ABLWYRCZZNYUCAALQ6VKCABOJ/VQxDIrRXa6b4FvbVJXgU9”,“iv”:“5C37E23D740CEB7611CB707BACD6633”,“s”:“11bd03dda58ffbbe”} 表单将此请求转换为 %7B“
你有什么想法吗
encodeURI
中的字符串将不包括前导引号和尾随引号。这只是你如何看待它的一个假象。证明:它替换了内部引号,但是表单没有这样做,正如您在第2段中看到的那样,encodeURI(您可以在示例中看到)没有替换表单post中的冒号(例如,多部分/form data
),“
和%22
是相同的。如果您有一个不同对待它们的服务器进程,那么您就有一个坏掉的服务器进程。也就是说,如果您需要撤消它,那么它很简单:encodeURI(数据)。replace(/%22/g,“”)
添加了encodeURI(请求)。replace(/%22/g,“”)。replace(/,/g,“%2C”)。replace(/:/g,“%3A”);这似乎很有效,谢谢