2

我是 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");
            }
        });
    });
4

2 回答 2

3

ajax调用的情况下,您正在调用 url 作为POST请求。而直接在浏览器中访问 url 时,您正在调用 url 作为GET请求。您的服务可能会接受带有空 json 数组的 POST 请求作为参数,该参数在作为 GET 请求调用时会丢失。

于 2012-08-28T17:21:45.677 回答
2

发布和获取!该服务正在侦听不同的 HTTP 动词并做出相应的响应。

按下 Invoke 会向服务发送 POST 消息,而在栏中键入它会向服务发送 GET 消息。

使用 : type: "GET" 更改查询,您会看到。

于 2012-08-28T17:22:30.290 回答