如何从javascript调用WCF服务
本文关键字:WCF 服务 调用 javascript | 更新日期: 2023-09-27 18:15:10
我在"Services"文件夹中有一个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);
Error: Error of implementation of Microsoft Jscript: "Application" is not certain如何解决这个问题?
首先,检查WCF服务是否正常工作,直接导航到它,例如http://localhost:(port-number)/Services/ProductTypeService.svc
我怀疑这不会工作,并给你一些错误。
其次,检查以确保jsdebug javascript文件已经生成,并且包含在应用程序加载的脚本中。
另一个人之前问过类似的问题。如何在asp.net web上获得javascript命名空间?