加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在Windows身份验证开启时使用ajax调用Web服务?

发布时间:2020-12-16 07:38:46 所属栏目:asp.Net 来源:网络整理
导读:我试图从 javascript调用一个Web服务方法: function Search() { var context = new Object; context.Filter = "Test"; SearchService.GetSearch(context,onSuccess,onFailed); } function onSuccess(result) { // userContext contains symbol passed into
我试图从 javascript调用一个Web服务方法:

function Search() {

        var context = new Object;
        context.Filter = "Test";

        SearchService.GetSearch(context,onSuccess,onFailed);
    }

    function onSuccess(result) {
        // userContext contains symbol passed into method
        var res = document.getElementById("resultsDiv");
        res.innerHTML = result;
    }

    function onFailed(result) {
        var res = document.getElementById("resultsDiv");
        res.innerHTML = result.get_message();
    }

这是Web服务签名:

[WebMethod]
    public SearchComboBoxItemData[] GetSearch(object context)
    {

当我使用表单身份验证并允许匿名访问Web服务时,一切正常.

但是,当我对应用程序使用Windows身份验证,但只允许匿名访问Web服务时,从javascript调用Web服务会引发以下错误:

无效的Web服务调用,缺少参数值:’context’.

我注意到的另一件事是它在Firefox中的两种方式都很好.我在IE7上看到错误.

对可能解决方案的任何想法?

解决方法

我假设您正在使用ASP.NET Ajax.

您可以尝试添加:

preCondition="integratedMode"

属性到web.config文件的Modules部分.

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读