问题描述:
解决方案下有两个项目:一个是MVC程序,一个是WebService。
现MVC程序服务引用WebService 引用名为:ServiceReference1
使用WebService页面添加 服务:
[code=xml]
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services >
<asp:ServiceReference Path="http://localhost:4565/MyService.asmx"/>
</Services>
</asp:ScriptManager>
[/code]
JS使用:
[code=xml]
function SubToLogIn()
{
OES.WebService.MyService.LogIn(uName, uPWD, OnSuccess,OnFail,context);
//OES.WebService.MyService为 WebService的类路径
//WebService在MVC程序中的引用类路径为OES_MVC.ServiceReference1
}
[/code]
而在使用过程中 则一直提示"服务器方法“LogIn”失败。"
重新新建一个MVC项目,将WebService文件复制到新MVC项目中 大致重复上述步骤 却能正常运行。
------解决方案--------------------------------------------------------
是不是js跨域问题,可以在你的mvc项目中加一中转页面来处理
------解决方案--------------------------------------------------------
应该是跨域问题,如果部署的时候不放在一个网站上的话,可以做个Router Service,就是在mvc网站加入一个asmx,在这个asmx中调用真正的web service.js调用这个asmx.
其它方法参考下面的文章:
Calling Cross Domain Web Services in AJAX
http://www.simple-talk.com/dotnet/asp.net/calling-cross-domain-web-services-in-ajax/