我正在尝试从 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 服务调用,缺少参数值:“上下文”。
我注意到的另一件事是它在 Firefox 中都可以正常工作。我在 IE7 上看到错误。
对可能的解决方案有任何想法吗?
最佳答案
我假设您使用的是 ASP.NET Ajax。
您可以尝试添加:
preCondition="integratedMode"
属性到 web.config 文件的 Modules 部分。
希望这可以帮助
关于asp.net - 打开 Windows 身份验证时使用 ajax 调用 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/587309/