jquery - 无法在浏览器中手动访问 ASMX Web 服务,但可以使用 jQuery

标签 jquery asp.net web-services asmx

我是 JQuery 和 Web 服务的新手。我的问题是(在下面的代码中),为什么 url: "WebService1.asmx/WebMethod" 可以通过此 JQuery 代码工作,但如果我直接在浏览器中键入该 URL,它会显示该路径不能是成立?我必须手动单击浏览器中服务的“调用”按钮才能调用该方法,然后导航到 WebService1.asmx/WebMethod。

 $(document).ready(function () {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "WebService1.asmx/WebMethod",
            data: "{}",
            dataType: "json",
            success: function (msg) {
                alert(msg.d);
            },
            error: function (errormessage) {
                alert("got an error");
            }
        });
    });

最佳答案

如果是 ajax 调用,您将调用 URL 作为 POST 请求。而直接在浏览器中访问 url 时,您将 url 作为 GET 请求调用。您的服务可能接受带有空 json 数组作为参数的 POST 请求,而作为 GET 请求调用时缺少该参数。

关于jquery - 无法在浏览器中手动访问 ASMX Web 服务,但可以使用 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12164259/

相关文章:

javascript - 在警报窗口中显示复制的 HTML 元素

jquery - 我试图在页面滚动 > 920 时显示 Logo

asp.net - 如何将POST参数传递给ASP.Net Web请求?

c++ - Stock incoming char in 循环函数

c# - 我可以在 IIS 之外托管 ASP.NET 网站吗?

javascript - 使用类或 jQuery 数据在 dom 元素上存储数据更快吗

javascript - 如何将 AJAX 数据从 VIEW 发送到 CONTROLLER? (PHP(MVC)+AJAX)

javascript - 服务器标签如何在 javascript 中工作?

c# - 如何在简单的 Web 项目中连接到 .mdf(Microsoft SQL Server 数据库文件)?

c# - 需要实现推送通知将消息推送到桌面客户端(不是网络/浏览器)