如何从JavaScript调用WCF服务?

问题描述:

我在文件夹中的“服务” WCF服务:如何从JavaScript调用WCF服务?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.Text; 
using System.Web.Services; 
using System.ServiceModel.Activation; 
using System.Web.Script.Services; 

namespace Application.Services 
{ 
    [ServiceContract] 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
    [ScriptService]  
    public class ProductTypeService 
    { 
     [OperationContract] 
     [WebMethod] 
     public string LoadMainGridProductType(string test) 
     { 
      return "Success"; 
     } 
    } 
} 

和网页上我尝试从JavaScript调用该服务的方法:

$(document).ready(function() { 
    var counter = "test";  
    Application.Services.ProductTypeService.LoadMainGridProductType(counter, ResultLoadMainGridProductType, ErrorLoadMainGridProductType); 
}); 

页上我也做瞬移到这个服务和JavaScript文件:

<asp:ScriptManager ID="ScriptManager" runat="server"> 
      <Scripts> 
       <asp:ScriptReference Path="~/Scripts/ProductType.js" /> 
      </Scripts> 
      <Services> 
       <asp:ServiceReference Path="~/Services/ProductTypeService.svc" />   
      </Services> 
     </asp:ScriptManager> 

但是代码失败的

Application.Services.ProductTypeService.LoadMainGridProductType(counter, ResultLoadMainGridProductType, ErrorLoadMainGridProductType); 

错误:执行Microsoft Jscript时出错:“应用程序”不确定。 如何解决这个问题?

+0

可能重复的[在asp,net web上的javascript如何获取命名空间?](http://*.com/questions/8182501/how-get-namespace-on-javascript-in-asp-net-网) –

首先,通过直接导航到WCF服务来检查WCF服务是否工作正常。 http://localhost:(port-number)/Services/ProductTypeService.svc

我怀疑这不会工作,并给你一些错误。

其次,检查以确保jsdebug JavaScript文件已生成并包含在与应用程序一起加载的脚本中。

另一个人之前问过类似的问题。 How get namespace on javascript in asp.net web?