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到@)。我做了很长一段路。谢谢你的简单方法。