asp.net – 使用jquery调用webmethod时始终获得“401 Unauthoriz
发布时间:2020-12-16 04:25:52 所属栏目:asp.Net 来源:网络整理
导读:我一直在努力让我的 jquery调用webmethod工作.我被服务器以“401 Unauthorized”响应退回.我必须在web.config或其他阻止成功调用的地方设置不正确. 非常感谢您的见解! 调用js函数调用jquery调用 button.OnClickAction = "PageMethod('TestWithParams',['a',
我一直在努力让我的
jquery调用webmethod工作.我被服务器以“401 Unauthorized”响应退回.我必须在web.config或其他阻止成功调用的地方设置不正确.
非常感谢您的见解! 调用js函数调用jquery调用 button.OnClickAction = "PageMethod('TestWithParams',['a','value','b',2],'AjaxSucceeded','AjaxFailed'); return false;"; 调用jquery的JavaScript函数 function PageMethod(fn,paramArray,successFn,errorFn) { var pagePath = window.location.pathname; var urlPath = pagePath + "/" + fn; //Create list of parameters in the form: //{"paramName1":"paramValue1","paramName2":"paramValue2"} var paramList = ''; if (paramArray.length > 0) { for (var i = 0; i < paramArray.length; i += 2) { if (paramList.length > 0) paramList += ','; paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"'; } } paramList = '{' + paramList + '}'; //Call the page method $.ajax({ type: "POST",url: pagePath + "/" + fn,contentType: "application/json; charset=utf-8",data: paramList,timeout: 10000,dataType: "json",success: function(result) { alert('Overjoyed'); },error: function(result) { alert('No joy'); } }); } 页面中的Web方法 public partial class WebLayout : System.Web.UI.Page { [WebMethod()] public static int TestNoParams() { return 1; } [WebMethod()] public static string TestWithParams(string a,int b) { return a + b.ToString(); } ... 在Firebug控制台中看到的响应 json: {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"} 和 "NetworkError: 401 Unauthorized - http://localhost/Care-Provider-Home/Profile/Personal-Profile.aspx/TestWithParams" TestWithParams 我查看并阅读了关于这个主题的常用网站(Encosia等),但是有用.要么我错过了一个关键部分,要么我的环境的安全参数中存在一些阻止呼叫的微妙之处. 以下是一些可能影响您诊断的潜在有用信息: >代码隐藏中的Web方法 我期待着您的见解和指导 – 谢谢! 解决方法
是的,它确实起作用了!由于Sitecore CMS确实执行URL重写以生成友好的URL(它以层的形式组装页面,动态地,类似于Master Page概念),因此我发现它可能导致一些问题,最初导致401错误.我通过使用单个ASPX创建一个单独的项目来验证这一点 – 通过一些工作,我可以调用Web方法并使用jquery获取值.然后我在我的web根目录中创建了几乎相同的ASPX,但是在发出请求时告诉Sitecore忽略它(web.config中的IgnoreUrlPrefixes),经过一些工作我也能让它成功运行!谢谢你的帮助.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net 下载文件时根据MIME类型自动判断保存文件的扩展名
- 在ASP.NET MVC中获取服务器机器名称?
- ASP.NET OOP-关联操作符重载的操作_RelationalOperatorOver
- asp.net – 错误:“无法读取配置部分’system.webServer /
- ASP.Net MVC 引用动态 js 脚本
- asp.net – 什么内容类型强制下载文本响应?
- asp.net-mvc-5 – ASP.NET标识 – 什么方法创建表?
- asp.net-mvc – 使用MVC为iPhone应用构建RESTful API – 如
- ASP.NET MVC 3助手中的Tab命令
- asp.net – Session实际上如何在MVC中运行?
推荐文章
站长推荐
热点阅读