Asp.net mvc 在mvc中从视图使用json wcf服务

Asp.net mvc 在mvc中从视图使用json wcf服务,asp.net-mvc,json,jquery,Asp.net Mvc,Json,Jquery,我正在尝试在wcf中存储“user”表的所有信息。当我调用服务时,我可以看到实体。 但我的问题是,在我看来,如何调用此服务。我曾尝试使用ajax调用它,但所引发的问题是错误消息:( plzz帮助 service.svc.cs 名称空间jsonwcf { [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]//注意:您可以使用“重构”菜单上的“重命名”命令来同时

我正在尝试在wcf中存储“user”表的所有信息。当我调用服务时,我可以看到实体。 但我的问题是,在我看来,如何调用此服务。我曾尝试使用ajax调用它,但所引发的问题是错误消息:( plzz帮助

service.svc.cs
名称空间jsonwcf
{
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]//注意:您可以使用“重构”菜单上的“重命名”命令来同时更改代码、svc和配置文件中的类名“Service1”。
公共类服务1:IService1
{
[WebInvoke(
Method=“POST”,
ResponseFormat=WebMessageFormat.Json,
BodyStyle=WebMessageBodyStyle.WrappedRequest
)]
公共列表SelectUserDetails()
{
pasDataContext db=新的pasDataContext();
列表结果=新列表();
foreach(数据库用户中的用户u)
{
results.Add(新用户详细信息()
{
UserID=u.UserID,
EmpName=u.EmpName,
Email=u.EmailID,
用户名=u.UserName,
UserRole=u.UserRole,
密码=u.密码,
电话
});
}
返回结果;
}
}
}
iservice.cs
名称空间jsonwcf
{
//注意:您可以使用“重构”菜单上的“重命名”命令同时更改代码和配置文件中的接口名称“IService1”。
[服务合同]
公共接口IService1
{
[经营合同]
[WebInvoke(Method=“POST”,ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped,UriTemplate=“users”)]
列出SelectUserDetails();
}
[数据合同]
公共类用户详细信息
{     
[数据成员]
公共字符串用户ID
{    
得到;
设置
}
[数据成员]
公共字符串密码
{    
得到;
设置
}
[数据成员]
公共字符串用户名
{    
得到;
设置
}
[数据成员]
公共字符串电子邮件
{    
得到;
设置
}
[数据成员]
公共字符串名称
{    
得到;
设置
}
[数据成员]
公共字符串用户角色
{    
得到;
设置
}
[数据成员]
公用串电话
{    
得到;
设置
}   
}
}

$(文档).ready(函数(){
警报(“x”);
变量内容=
“Useid EmpnameUsername”+
“PasswordUserroleEMailIDTELEPHONE”;
$.ajax({
键入:“POST”,
url:'service1.svc/SelectUserDetails/',
数据类型:'json',//服务器应提供数据格式
processdata:对,
contentType:“应用程序/json;字符集=utf-8”,
数据:“{}”,
成功:功能(数据){
$。每个(数据、功能(i、项){
内容+=”;
内容+=“”+数据[i]。用户ID+“”;
content+=“”+数据[i]。EmpName+“”;
内容+=“”+数据[i]。用户名+“”;
内容+=“”+数据[i]。密码+“”;
内容+=“”+数据[i]。用户角色+“”;
内容+=“”+数据[i]。电子邮件+“”;
内容+=“”+数据[i]。电话+“”;
内容+=”;
});
内容+=”;
$('#sdf').html(内容)
}
,错误:函数(){
警报(“再次出错”);
}
});
我想当我打电话的时候,url没有回复…不知道是什么原因

尝试不使用.svc文件的方法。我肯定你会找到解决方案。:

你可以从这个链接获得帮助@innovation:我的问题是,我可以在mvc视图中使用这个服务吗?我使用jquery bt尝试了上面的方法,它将返回错误函数。是的,我尝试了,我想轻松地调用该服务。谢谢你的帮助
namespace jsonwcf
{

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    public class Service1 : IService1
    {
        [WebInvoke(
       Method = "POST",
       ResponseFormat = WebMessageFormat.Json,
       BodyStyle = WebMessageBodyStyle.WrappedRequest
     )]
        public List<UserDetails> SelectUserDetails()
        {
            pasDataContext db = new pasDataContext();
            List<UserDetails> results = new List<UserDetails>();

            foreach (User u in db.Users)
            {
                results.Add(new UserDetails()
                {
                    UserID = u.UserID,

                    EmpName = u.EmpName,
                    Email = u.EmailID,
                    UserName = u.UserName,
                    UserRole = u.UserRole,
                    Password = u.Password,
                    Telephone = u .Telephone
                });
            }
            return results;
        }
    }
}
namespace jsonwcf
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "users")]

        List<UserDetails> SelectUserDetails();
    }
    [DataContract]
    public class UserDetails
    {     
        [DataMember]    
        public string UserID
        {    
            get;    
            set;    
        }

        [DataMember]
        public string Password
        {    
            get;    
            set;    
        }

        [DataMember]    
        public string UserName
        {    
            get;    
            set;    
        }

        [DataMember]    
        public string Email
        {    
            get;    
            set;    
        }

        [DataMember]
        public string EmpName
        {    
            get;    
            set;    
        }

        [DataMember]
        public string UserRole
        {    
            get;    
            set;    
        }
           [DataMember]
        public string Telephone
        {    
            get;    
            set;    
        }   
    }
}
<script type="text/javascript">
    $(document).ready(function () {
        alert("x");
        var content = 
"<table><tr style=\"background-color:Silver\"><th>Useid</th> <th>Empname</th><th>Username</th>" +
        "<th>Password</th><th>Userrole</th><th>EMailID</th><th>TELEPHONE</th></tr>";
        $.ajax({
            type: 'POST',
            url: 'service1.svc/SelectUserDetails/', 
            dataType: 'json', //Expected data format from server
            processdata: true,
            contentType: "application/json; charset=utf-8",
            data: '{}',

            success: function (data) {

                $.each(data, function (i, item) {

                    content += "<tr style=\"text-align:center\">";
                    content += "<td style=\"background-color:White\">" + data[i].UserID + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].EmpName + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].UserName + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].Password + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].UserRole + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].Email + "</td>";
                    content += "<td style=\"background-color:White\">" + data[i].Telephone + "</td>";
                    content += "</tr>";
                });
                content += "</table>";
                $('#sdf').html(content)
            }
             , error: function () {
                 alert("error again");
             }

        });

The url doesnot repond i guess while m calling...dont know wats d reason