C# 从jQueryAjax调用WCF服务方法返回404

C# 从jQueryAjax调用WCF服务方法返回404,c#,jquery,.net,wcf,C#,Jquery,.net,Wcf,这是我的jQuery AJAX方法: $(文档).ready(函数(){ $(“#btnsupmit”)。单击(函数(){ 警报(“测试”); var param=$(“#txtEmail”).val(); $.ajax({ url:“~/DemoService1.svc/IsEmailAvailable”, 类型:“POST”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, //数据:JSON.stringify({Email:$('#txtE

这是我的jQuery AJAX方法:

$(文档).ready(函数(){
$(“#btnsupmit”)。单击(函数(){
警报(“测试”);
var param=$(“#txtEmail”).val();
$.ajax({
url:“~/DemoService1.svc/IsEmailAvailable”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
//数据:JSON.stringify({Email:$('#txtEmail').val()}),
数据:param,
success:function(msg){//On Successfull service call
服务成功(msg);
},
错误:服务失败
});
});
函数服务失败(结果){
警报('服务调用失败:'+result.status+'+result.statusText);
Type=null;
varUrl=null;
数据=空;
ContentType=null;
DataType=null;
ProcessData=null;
}
});
这是我的服务接口

[运营合同]
[WebInvoke(UriTemplate=“/isemailavable”,Method=“POST”,RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]
bool-IsEmailAvailable(字符串电子邮件);
我的网络配置如下所示:



请提供解决方案。我是jQuery新手。

问题似乎是AJAX调用中的URL:

url:"~/DemoService1.svc/IsEmailAvailable",
请注意,URL以波浪号(~)字符开头。tilde是一个ASP.NET令牌,表示“应用程序根”。JQuery不知道这意味着什么,因此ajax调用将指向类似“”的内容,这可能不是有效的URL


用有效的url替换
url
参数,404可能会消失。解决此问题的好工具是浏览器或Fiddler中的开发人员控制台。我发现,在排除客户端调用无法正常工作的原因时,这两种方法都是非常有用的(相信我……您将要处理大量HTTP响应代码,并且您需要一个可以查看异常详细信息的工具)。

看起来问题在于AJAX调用中的URL:

url:"~/DemoService1.svc/IsEmailAvailable",
请注意,URL以波浪号(~)字符开头。tilde是一个ASP.NET令牌,表示“应用程序根”。JQuery不知道这意味着什么,因此ajax调用将指向类似“”的内容,这可能不是有效的URL

用有效的url替换
url
参数,404可能会消失。解决此问题的好工具是浏览器或Fiddler中的开发人员控制台。我发现,在排除客户端调用无法正常工作的原因时,这两种方法都非常有用(相信我……您将要处理大量HTTP响应代码,并且您需要一个允许查看异常详细信息的工具)