2013-01-25 147 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,