use*_*767 4 javascript php escaping
使用ajax get方法传递变量.我用它来逃避字符串与escape()函数.
在php中,我收到了值并插入到数据库中.
我如何解开字符串?
例如,对于:
balaji's
Run Code Online (Sandbox Code Playgroud)
我明白了
balaji%27s.
Run Code Online (Sandbox Code Playgroud)
您可以使用此函数而不是urldecode()
function utf8_urldecode($str) {
return html_entity_decode(preg_replace("/%u([0-9a-f]{3,4})/i", "&#x\\1;", urldecode($str)), null, 'UTF-8');
}
Run Code Online (Sandbox Code Playgroud)
而不是escape在客户端使用,使用encodeURIComponent. escape并没有做URI编码。(它做了一些类似的事情,但足够不同,你会遇到麻烦。)encodeURIComponent执行标准的 URI 编码。如果您以正常方式发送数据,PHP 应该自动为您解码,例如:
var word = "balaji's";
$.ajax({
url: "yoururl",
data: encodeURIComponent("word") + "=" + encodeURIComponent(word)
});
Run Code Online (Sandbox Code Playgroud)
如果您没有以默认的“多部分形式”形式发送数据(例如,您要覆盖dataType),则您必须通过urldecode.