Jquery “发送”@&引用;通过Ajax包含数据的签名
我的代码如下Jquery “发送”@&引用;通过Ajax包含数据的签名,jquery,ajax,Jquery,Ajax,我的代码如下 $.ajax({ url:'http:://www.sample.com/checkmail/'+$('#txtemail').val(), success: function(data) { $('#response').html(data); if(data!="Success") { $('#txtemail').cs
$.ajax({
url:'http:://www.sample.com/checkmail/'+$('#txtemail').val(),
success: function(data)
{
$('#response').html(data);
if(data!="Success")
{
$('#txtemail').css("background-color","#FF8A8D");
}
else
{
$('#txtemail').css("background-color","white");
}
}
});
上述代码在传递不带“@”符号的数据时起作用
例如:
//passing Hello
txtemail = "Hello"
//ajax response message in firefox
GET http://www.example.com/checkmail/Hello 200 OK 503ms
但如果我像下面这样发送电子邮件,它就会出错
Example:
//passing hello
txtemail = "hello@eee.com"
//ajax response message in firefox
GET http://www.example.com/checkmail/hello@eee.com 400 Bad Request 26ms
如何解决此问题的任何建议请在电子邮件地址上使用
url:'http://www.sample.com/checkmail/'+encodeURIComponent($('#txtemail').val()),
@
是URL中的保留字符(对于用户名:password@domain
scheme),需要进行百分比编码。您必须对url进行编码,正如Unicron所说,您也可以使用escape()函数进行此操作
url:'http://www.sample.com/checkmail/'+escape($('#txtemail').val())
您的URL中有输入错误:
http://
不要使用escape()
。见:谢谢。发送电子邮件时,我将@符号替换为%40。再次结束点我必须再次替换(%40到@)。我做了很长一段路。谢谢你的简单方法。