使用javascript发送特殊字符
send special characters with javascript
i使用javascript和$_POST方法发送用户名。它使用简单的用户名,但使用具有特殊字符(如"Al[!]e$e")的用户名有问题,无法在我的数据库中找到用户名。
<div class="friend-add">
<form method="post" action="" class="form-inline">
<fieldset>
<input name="username" id="username" placeholder="Username" autocomplete="off" type="text">
<button id="add_friend" name="add_friend" type="submit" class="btn">Add friend</button>
</fieldset>
</form>
<div id="loading_m" style="position:relative; width:16px; height:16px; float:left; margin-top:-30px;margin-left:330px;background-image:url(loading.gif); background-repeat:no-repeat; background-size:16px 16px; display:none;"></div>
</div>
<script language="javascript" type="text/javascript">
$("#add_friend").click(function(){
$("#add_friend").attr("disabled","disabled");
$("#loading_m").fadeOut('fast');
$("#loading_m").fadeIn('fast');
$("#alert_m").html("");
$.post("friend_request.php", { friend_username : $("#username").val() })
.done(function(data) {
//alert(data);
if (data.toLowerCase().indexOf("notexist") >= 0){
$("#loading_m").fadeOut('fast',function(){
$("#alert_m").html("<b style='color:#FF0040;'>This user does not exist.</b>").fadeIn('fast').delay(5000).fadeOut('fast');
$("#add_friend").removeAttr('disabled');
});
}
......
.fail(function(){
$("#loading_m").fadeOut('fast',function(){
$("#alert_m").html("<b style='color:#F00;'>Something wrong with server please try again later.</b>").fadeIn('fast').delay(5000).fadeOut('fast');
$("#add_friend").removeAttr('disabled');
});
});
return false;
});
为什么应该使用encodeURIComponent:什么时候应该使用escape而不是encodeURI/encodeURIComponent?
...
$.post("friend_request.php", { friend_username : encodeURIComponent($("#username").val()) })
...
编辑:使用php中的urldecode()将其转换回原始字符串。
$username = urldecode($_POST['friend_username']);
参考编号:http://www.php.net/manual/en/function.urldecode.php
相关文章:
- javascript替换换行符和特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 用于在Javascript中删除多个空格的特殊字符
- javascript正则表达式来识别所有特殊字符
- Javascript:包括特殊字符的文本选择
- 替换字符串javascript中的所有特殊字符..
- 从JavaScript中正确返回html中的特殊字符
- 如何不显示/过滤特殊字符?(CSS或Javascript)
- 使用javascript验证只有一个特殊字符的字符串
- 如何使用javascript在输入元素中显示特殊字符
- 在 Javascript 函数中对参数值使用特殊字符时出现 Javascript 错误
- Javascript和RegEx用于删除特殊字符
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 如何在javascript中替换HTML特殊字符
- 使用特殊字符 Javascript 对 URL 进行编码
- 正则表达式密码允许特殊字符 JavaScript
- 正则表达式不允许特殊字符(Javascript)
- 如何检查字符串是否有起始字符是特殊字符:javascript
- 测试特殊字符JavaScript
- 验证特殊字符 JavaScript