首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows身份验证打开时使用ajax调用web服务?

在Windows身份验证打开时使用ajax调用web服务?
EN

Stack Overflow用户
提问于 2009-02-25 18:49:33
回答 2查看 2.5K关注 0票数 5

我正在尝试从javascript调用web服务方法:

代码语言:javascript
运行
复制
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服务签名:

代码语言:javascript
运行
复制
[WebMethod]
    public SearchComboBoxItemData[] GetSearch(object context)
    {

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

但是,当我对应用程序使用windows身份验证,但只允许匿名访问webservice时,从javascript调用web服务会抛出以下错误:

无效的web服务调用,缺少参数'context‘的值。

我注意到的另一件事是,它在Firefox中的两种情况下都工作得很好。我在IE7上看到错误。

对可能的解决方案有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2009-03-19 21:53:10

我假设您使用的是ASP.NET Ajax。

您可以尝试添加以下内容:

代码语言:javascript
运行
复制
preCondition="integratedMode"

属性添加到web.config文件的“模块”部分。

希望这能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2009-03-22 10:35:29

听起来您正在使用集成身份验证,并且IE已登录,但Firefox尚未登录。您可能需要检查IE登录所使用的用户名。

此外,还有一些类似的东西:

代码语言:javascript
运行
复制
var temp = "";
for(prop in context){
    temp +=prop+"= "+context[prop]+"\n";
}
alert(temp);

查看上下文中包含的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/587309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档