我在“服务”文件夹中有一个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 :(得分:1)
首先,通过直接导航到WCF服务来检查WCF服务是否正常工作,例如http://localhost:(port-number)/Services/ProductTypeService.svc
我怀疑这不起作用并且给你一些错误。
其次,检查以确保jsdebug javascript文件已生成并包含在随应用程序加载的脚本中。
另一个人早先问过类似的问题。 How get namespace on javascript in asp.net web?