2013-01-25 221 views
0

不叫我有以下Ajax调用JavaScript中web服务在asp.net

$.ajax({ 
    type: "Post", 
    url: '../WebService/LoginService.asmx/LoginCheck', 
    data: jsondata, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function (resp) { 
     if (resp.d == true) { 
      window.location.replace("../Admin/DashBoard.aspx"); 
      return; 
     } 
     jQuery("#lblex").css("display", "block"); 
    }, 
    error: function (response) { 
     alert(response.responseText); 
    } 
}); 

这在当地当我测试工作正常,但是当我主持这是我的生产服务器上,它说没有找到服务。 但我能浏览,直到路径

../WebService/LoginService.asmx 

,如果我的网址更改为

../WebService/LoginService.asmx?op = LoginCheck 

它的作品,也有。

可有人请让我知道我需要什么样的配置变化在我的地方或在生产服务器做的就是他们两个人同样的方式

+0

您使用的表单验证?如果是这样,当你在登录之前或没有登录时调用这个函数。 –

回答

1

工作如果这个脚本是一个WebForm里面我会使用建议您ResolveUrl方法来确保正确的URL生成,无论您的应用程序托管:

url: '<%= ResolveUrl("~/WebService/LoginService.asmx/LoginCheck")', 

如果脚本不是一个WebForm内部,而是在一个单独的JavaScript文件,你不能使用服务器端的功能,你可以定义一个全局您的WebForm中的JavaScript变量:

<script type="text/javascript"> 
    var serviceUrl = '<%= ResolveUrl("~/WebService/LoginService.asmx/LoginCheck")'; 
</script> 

,你可以在你随后的单独的js文件使用:

url: serviceUrl,