我正在尝试使用以下格式“+1234987 ....”在MYSQL表中保存手机号码,但是当我保存号码时,“+”符号被替换为空格。
我使用以下代码:
var mobile = $('#mobile').attr('value');
$.ajax({
type: "POST",
url: "save_process.php",
data: "mobile="+ escape(mobile) ,
//data: "mobile="+ mobile ,
success: function(html){
if (html==1){
$('div.saving').hide();
$('div.success').fadeIn();
}
无论有没有escape()
我都试过 - 结果相同。如何使用“+”符号保存?
由于
答案 0 :(得分:2)
“mobile =”+ escape(移动)
escape
是用于编码URI参数的错误函数。它是一种特殊的JavaScript编码方案,看起来有点像URL编码,但不是那个或实际上任何其他Web标准。它在处理非ASCII字符方面有所不同,并且你猜对了,加号。
事实上,任何事情都使用它几乎总是错误的功能,任何时候你应该立即怀疑它。在encodeURIComponent
发明之前,它曾经用于Netscape时代的URL编码,但即使在那时它也完全被破坏了。
"mobile="+ encodeURIComponent(mobile)