只是一个简单的问题。我想将数据从Javascript发送到PHP脚本以将其存储在数据库中,然后以相同的方式将其取回(脚本调用PHP函数,并且数据以JSON发送回)。
我应该在javascript中使用哪个函数?我永远不需要只使用PHP来获取数据,所以可以使用escape(string);
然后使用unescape(encoded_string);
进行显示吗?
谢谢。
来自法国的问候;)
编辑:忘记提及:数据是来自用户输入的字符串(因此存在安全问题)
最佳答案
使用encodeURIComponent()
在URL中进行传输。
function sendData(str)
{
var url = "http://myserver.com/upload?data="+encodeURIComponent(str);
ajax(url);
}
数据发送到服务器后,服务器应自动对URL中发送的数据进行未编码,因此您无需手动进行处理。 (不过,我对PHP不太熟悉,如果我错了,有人可以纠正我。)您也不需要对发送到客户端的数据进行编码,因为它不是通过URL发送的。
请注意:
如果先
escape()
数据,然后再unescape()
数据,则用户输入的所有html标记,javascript和其他内容都将恢复原样。因此,在显示数据之前,请确保删除这些内容。另请参阅:http://xkr.us/articles/javascript/encode-compare/
关于php - 转义特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3513100/