我试图从asp.net网站(VB)客户端使用JS调用Web服务。我之前使用过Web服务但从未设置过。我想运行异步更新和查询。任何帮助都会很棒,类似的例子或更好的做法。不能张贴图片......
我相信我遇到了命名空间的问题以及从客户端事件中正确调用方法。也许是webconfig的东西?
到目前为止我做了什么:
在visual studio(website1)中创建一个新的asp网站。添加名为WebService.asmx的新.asmx文件。
取消注释System.Web.Script.Services.ScriptService()。使用向导(ServiceReference1)创建服务引用。在default.aspx上添加脚本管理器。创建按钮onclick和功能。然后我跑了,我在js上得到了这个错误。
我是如何尝试拨打该服务的,我过去曾这样做过。一个不是我的系统。这种方法有用吗?:
function test() {
ServiceReference1.WebService.HelloWorld();
}
<input type="button" onclick="test()"/>
WebService.asmx看起来像什么,我没有用于该测试的NameSpace。应该有吗?:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class WebService
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
End Class
app_reference成功导入,webservice单独运行。我的webconfig:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WebServiceSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:55800/WebService.asmx" binding="basicHttpBinding"
bindingConfiguration="WebServiceSoap" contract="ServiceReference1.WebServiceSoap"
name="WebServiceSoap" />
</client>
</system.serviceModel>
</configuration>
JS使用以下消息在webservice行上触发并中断:
Unhandled exception at line 13, column 13 in http://localhost:55800/Default.aspx
0x800a1391 - JavaScript runtime error: 'ServiceReference1' is undefined
有什么建议吗?
答案 0 :(得分:0)
只需致电{WebServiceClass.Method}
。
WebService.HelloWorld()