使用javascript从另一个网站/Web应用程序调用Web服务(.asmx)
我正在尝试使用javascript调用webservice(.asmx)文件。下面是我要做的详细解释 我有两个WebApplication项目,一个包含WebService.asmx文件,另一个包含javascript文件。我试图从javascript文件中调用位于WebService.asmx中的方法HelloWorld() 注意:我尝试在不使用jQuery的情况下执行此操作 请给出一个详细的解释(代码和一些文档),我回顾了许多例子,并尝试了许多不同的方法,但没有一种对我有效 以下是我尝试过的一些事情:使用javascript从另一个网站/Web应用程序调用Web服务(.asmx),javascript,asp.net,web-applications,asmx,Javascript,Asp.net,Web Applications,Asmx,我正在尝试使用javascript调用webservice(.asmx)文件。下面是我要做的详细解释 我有两个WebApplication项目,一个包含WebService.asmx文件,另一个包含javascript文件。我试图从javascript文件中调用位于WebService.asmx中的方法HelloWorld() 注意:我尝试在不使用jQuery的情况下执行此操作 请给出一个详细的解释(代码和一些文档),我回顾了许多例子,并尝试了许多不同的方法,但没有一种对我有效 以下是我尝试过的
- 已将[ScriptService]添加到.asmx文件中
- 添加了对包含.asmx的项目的Web引用
- 添加了对包含.asmx的项目的服务引用
- 在我的脚本管理器中将EnablePageMethods属性设置为true
- 将以下代码添加到我的脚本管理器中
<Services> <asp:ServiceReference Path="http://localhost..." /> </Services>
- web服务不是托管在web应用程序所在的单独域上
- 在HTTP请求头中,您传递的是正确的内容类型以及预期的内容类型
- 服务器返回的内容类型与javascript预期的内容类型相同
- 如果您正在使用Microsoft的客户端AJAX库,请确保在客户端使用正确的序列化器/反序列化器
- 由于您的问题中缺少一些细节,我建议您检查以下内容:
你看到了什么错误?您的问题是服务没有返回数据,还是您的javascript没有调用服务?上次我尝试了它(这是我最接近的一次),我运行了javascript方法,比如AppNamespace.Webservice.HelloWorld(回调,失败)它总是跳转到fail方法,说HelloWorld失败了。你应该用它来查看你得到了什么错误。服务运行正常吗?您可以直接从visual studio运行服务(确保服务应用程序也是您的启动应用程序)。将打开一个内置服务测试页面,以便您可以直接针对该服务进行测试。首先确保它按您期望的那样工作,然后从您自己的javascriptI开始使用它。我已经知道如何使用Web服务,并且我已经使用“代码隐藏”中的Web服务进行了一个小测试,它工作得很好,当我开始使用Javascript时,它变得很棘手