微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自ASP.Net PageMethod Call的访问响应标头

使用ASP.Net Ajax调用PageMethods时,如何从“success”方法访问Http响应头?

例如:

PageMethods.DoSomething(
   function(result){successMethod(result)},function(error){errorMethod(error)}
);

function successMethod(result){
    //------how can I access the Http response headers from here? ------
}

谢谢你的帮助

解决方法

在您的示例中,如果是一个asp.net Web服务代理,PageMethods.DoSomething的返回值应该等于 WebRequest.提供此选项是为了您可以在启动请求后对其进行操作(即取消请求等).

使用此类,您可以使用add_completed方法,该方法可用于在Web请求完成时添加处理程序.回调的签名是函数OnWebRequestCompleted(executor,eventArgs),其中的executor参数使您可以获取额外的响应信息.例如,您可以使用executor.getAllResponseHeaders()获取响应头.它应该是标题名称和值的映射(命名集合).

因此,如果您在进行服务方法调用后立即向Web请求的已完成事件添加处理程序,它应该可以工作(世界上没有任何Web服务能够比连续两行代码响应更快!).

之前的WebRequest链接包含了如何连接它的完整示例.但请注意,此代码直接使用WebRequest.

Asp.Net Ajax Web Service代理类使用WebServiceProxy类,每个代理方法最终调用其invoke方法,该方法返回WebRequest实例.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐