Webmethod 没有命中 Angular2,导致整个页面 html

Webmethod doesn't hit Angular2, result entire page html

我有一个简单的WebMethod如下

[WebMethod(EnableSession=true)]
public static string Redirect()
{
    object a= HttpContext.Current.Session;
    return "yeppieee";
}

并将其称为

this.http.get(`http://localhost/MyApp/Pages/TestPage.aspx/Redirect`)
        .map(res=>res)    
        .subscribe((res) =>{                
                console.log(res);                                   
                },
                 (err)=>console.log(err),
                 ()=>console.log("Done1111111111")
        );

但是调试器没有命中。

在控制台上我可以看到 Done1111111111。 在开发人员工具的网络选项卡中,我可以看到此请求的状态是 200OK.

那为什么 WebMethod 没有被调用?

编辑

刚知道响应是整个 html 页面。我可以在控制台中看到它。

好的,我设法解决了这个问题。由于它返回整个页面 html,我只是将内容类型 json 添加到请求 header 中,如下所示。

let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.get(`http://localhost/HelixWebApp/Pages/AngularContainer.aspx/Redirect`, options)
    .map(res=>res.json())    
    .subscribe((res) =>{                
        console.log(res);                                   
        },
        (err)=>console.log(err),
        ()=>console.log("Done")
);

也更改了 WebMethod 以接受 GET

[WebMethod(EnableSession=true)]
[ScriptMethod(UseHttpGet = true)]
public static string Redirect()
{
    object a= HttpContext.Current.Session;
    return "yeppieee";
}