Ajax调用在asp.net Web表单中返回整页html

时间:2017-01-13 09:55:26

标签: javascript jquery asp.net ajax

我正在开发asp.net Web表单应用程序。我试图在代码隐藏中对web方法进行ajax调用,但不返回结果,而是返回整个html页面。

我按下按钮

来调用它
 <input type="button" id="btnCallAPIFromClient" class="btn btn-success" value="Call API from Client"/>

我的js脚本是:

$(document).ready(function() {
    //PageMethods.set_path(PageMethods.get_path() + '.aspx');
    $('#btnCallAPIFromClient').click(function() {
        alert('here');
        $.ajax({
            url: '/login/GetAccessToken',
            type: "POST",
            dataType: 'html',
            success: function(response) {
                alert(response);
                debugger;
                sessionStorage.setItem("accessToken", response.access_token);
                alert(response.access_token);
            },
            // Display errors if any in the Bootstrap alert <div>
            error: function(jqXHR) {
                alert(jqXHR.responseText);
            }
        });
    });
});

webmethod是:

   [WebMethod]
        public static string GetAccessToken()
        {
           return "abc";
        }

1 个答案:

答案 0 :(得分:0)

这是因为您已将数据类型设置为html。 将数据类型更改为文本,如下所示:

dataType: 'text'

并且在成功功能中也改变了这一行

sessionStorage.setItem("accessToken", response.access_token);

sessionStorage.setItem("accessToken", response);

因为您没有以json格式接收数据。所以这将是无效的。