0

我在 javascript 中有以下 ajax 调用

$.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

它也在那里工作。

任何人都可以让我知道我需要在本地或生产服务器上进行哪些配置更改以使它们都以相同的方式工作

4

1 回答 1

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,
于 2013-01-25T08:48:32.047 回答