asp.net-mvc-2 – 从jQuery – MVC 2调用支持AJAX的WCF服务
发布时间:2020-12-16 03:42:38  所属栏目:asp.Net  来源:网络整理 
            导读:我已经完成了大量的阅读,看起来很简单.我创建了我的服务,这非常简单(看起来像这样 [ServiceBehavior(IncludeExceptionDetailInFaults = true)][ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRe
                
                
                
            | 
                         
 我已经完成了大量的阅读,看起来很简单.我创建了我的服务,这非常简单(看起来像这样 
  
  
  
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WeddingPhotographerService
{    
    // Add more operations here and mark them with [OperationContract]
    [OperationContract]
    public bool AddNewSkill(string name,string description)
    {
        IRepository<Skill> skillRepo = ObjectFactory.GetInstance<IRepository<Skill>>();
        var skill = new Skill { Name = name,Description = description };
        skillRepo.Save(skill);
        return true;
    }
} 
 很简单,然后我在我的视图中写了这个jQuery代码 $(document).ready(function () {
    $("#AddSkill").click(function () {
        var data = { name: $("#NewSkill").val(),description: "" };
        data = JSON.stringify(data)
        $.ajax({
            type: "POST",contentType: "application/json; charset=utf-8",url: "WeddingPhotographerService.svc/AddNewSkill",data: data,dataType: "json",success: function () {
                $('#SkillListViewContainer').load('../AccountController/GetSkillControl');
            },error: function (msg) {
                $("#AddSkillError").text(msg.d);
            }
        });
    });
}); 
 我的WeddingPhotographerService.svc位于项目的根目录中,web.config在我创建服务时添加了这个 <system.serviceModel>
  <behaviors>
    <endpointBehaviors>
      <behavior name="WeddingPhotographer.WeddingPhotographerServiceAspNetAjaxBehavior">
        <enableWebScript />
      </behavior>
    </endpointBehaviors>
  </behaviors>
  <services>
    <service name="WeddingPhotographer.WeddingPhotographerService">
      <endpoint address="" behaviorConfiguration="WeddingPhotographer.WeddingPhotographerServiceAspNetAjaxBehavior"
        binding="webHttpBinding" contract="WeddingPhotographer.WeddingPhotographerService" />
    </service>
  </services>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
    multipleSiteBindingsEnabled="true" />
</system.serviceModel> 
 一切看起来都很简单,看起来它应该可以工作但是当我点击AddSkill Chrome JavaScript控制台时会返回404错误,所以它根本找不到服务(我打开了控制台,因为当我点击它时什么都没发生按钮). 我在这里错过了什么吗? 顺便说一下,我也尝试了这个(因为这是web.config文件中的名字) url: "WeddingPhotographer.WeddingPhotographerService.svc/AddNewSkill" 我仍然得到资源未找到(404)错误 解决方法
 解决了它,改变了jQuery AJAX调用中的url行 
  
  
  
        url: "../WeddingPhotographerService.svc/AddNewSkill" 一切都很好 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
相关内容
- asp.net-mvc – ValidationMessage – 处理同一属性的多个错
 - ASP.NET Core MVC内置服务的使用
 - asp.net – 使用GhostScript将PDF转换为服务器上的图像集合
 - asp.net-mvc – Route Id覆盖Model.Id
 - asp.net-mvc-2 – 在选择聚合时,如何处理Linq到NHibernate的
 - asp.net-mvc – 从业务层使用邮件库
 - 验证 – ASP.NET MVC将null转换为零长度字符串
 - 如何在ASP.NET MVC中禁用HTTP Keep-Alive?
 - ASP.NET / VB中的jsFiddle是否相当?
 - asp.net-mvc – 为多语言ASP.NET MVC Web应用程序设置Curre
 
推荐文章
            站长推荐
            - asp.net-mvc-3 – allowDefinition =’MachineTo
 - asp.net-mvc – F#支持最新的asp.net 5和MVC6
 - 403发布asp.net MVC后禁止
 - asp.net-mvc – MVC控制器正在被调用两次
 - asp.net-mvc-3 – 在ASP.NET MVC3中使用pdf.js.
 - asp.net – 如何获取Page.ClientScript.Register
 - asp.net-mvc-3 – MVC3 WebGrid是否支持水平滚动
 - ASP.NET:开始<%%>的'#'是什么意思?
 - 在没有母版页控件的情况下在asp.net中打印页面
 - asp.net-mvc – 具有服务层和存储库层的ASP.NET
 
热点阅读
            