我在SharePoint 2010中创建了一个自定义WCF服务,我试图通过JQuery Ajax请求调用它。 我的自定义WCF服务是根据此处给出的示例建模的: 链接: http : //blog.sharepointbits.com/2010/04/custom-wcf-services-in-sharepoint-2010_17.html 上面的方法给了我一个可以从C#服务器端代码访问的WCF服务,以及一个自定义的InfoPath表单,但是,我无法使用JQuery Ajax获得响应。 我在Stack Overflow上的其他地方读到了使用MultipleBaseAddressWebServiceHostFactory而不是像原始文章所建议的MultipleBaseAddressBasicHttpBindingServiceHostFactory 。 链接: Sharepoint 2010 wcf服务。 用jquery调用方法 这工作,允许我通过JQuery Ajax联系(但不validation)服务,但是, a)我无法再导航到http:// [servername] /_vti_bin/Service.svc/mex并查看WSDL。 此问题意味着我的InfoPath表单也无法连接到服务,因为它们寻找WSDL。 b)即使JQuery Ajax请求命中自定义WCF服务,浏览器也会每次都要求我进行身份validation,即使请求来自登录SharePoint的用户的浏览器。 如果有人知道如何解决问题a)和b)我会非常感激。 制作可以在任何应用程序中使用的服务确实不应该那么困难。
我正在开发ASP.net应用程序,它使用ASP.Net Web API来使用REST服务。 我正在尝试为我的网站使用基本身份validation。 完成基本身份validation后,我计划将其与SSL一起使用。 目前在登录按钮上单击我正在使用用户名和密码的Base64编码发送Auth标头,如下所示: string responseData = string.Empty; string authToken = string.Empty; string loginInstance = url; // Create request. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(loginInstance); request.Method = “POST”; request.ContentType = “application/json”; request.CookieContainer = new CookieContainer(); String username = txtUserName.Text; String password = txtPassword.Text; String encoded = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + “:” + password)); request.Headers.Add(“Authorization”, “Basic ” + […]
我有一个由cherrypy提供的网络应用程序。 在这个应用程序中,我想从couchdb服务器获取一些数据,最好使用jquery。 我无法对服务器进行身份validation。 使用时: $.couch.login({ name: ‘usename’, password: ‘password’, success: function() { console.log(‘Ready!’); } }); 它将登录请求发送到cherrypy服务器,而不是couchdb。 根据这个 ,我可以使用jquery.ajax设置,因此我尝试使用: $.couch.login({ url: ‘http://127.0.0.1:5984’, name: ‘usename’, password: ‘password’, success: function() { console.log(‘Ready!’); } }); 但它似乎没有用。 有任何想法吗? 此外,任何人都可以指向我以类似方式开发的优秀教程或简单的Web应用程序,即“标准”网页(不是couchapp),其中包含从沙发中获取信息的jquery。
我已经在stackoverflow上查看了以下问题,但我没有尝试做什么。 Ajax授权请求标头一次又一次失败 jQuery Ajax未经授权的401错误 使用跨域post发送凭据? 这是我目前拥有的代码: $(document).ready(function() { $.ajax({ url: ‘http://sample.domain.com/script.php?name1=value1&jsonp=?’, type: ‘GET’, dataType: ‘json’, contentType: “application/json”, beforeSend: function(xhr) { xhr.setRequestHeader(“Authentication”, “Basic ZnJvbWFwcGx********uOnRoM24zcmQ1UmgzcjM=”) //Some characters have been replaced for security but this is a true BASE64 of “username:password” }, success: function(data){ alert(data); } }); }); 我拥有的子域名受.htpasswd文件的密码保护。 使用base64编码中使用的用户名/密码组合,网站登录对我来说很好。 我在不同的域上运行此脚本而不是url所在的域,这就是为什么我有jsonp =? 在url中 我在浏览器中从控制台获得的响应是: GET http://sample.domain.com/script.php?name1=value1&jsonp=jsonp1334177732136 401 (Authorization […]
我一直在努力让我的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 […]
澄清一点:我在向jQuery ajax调用添加自定义标头时没有任何问题,我希望自动将我的自定义标头添加到所有ajax调用中。 如果你看一下jquery $ .ajax自定义http头问题 (不是我的问题),你会看到一个很好的例子,说明如果手动为每个ajax调用实现代码的工作方式。 我想覆盖所有jQuery ajax调用的beforeSend。 根据jQuery文档,我可以通过使用jQuery.ajaxSetup()来做到这一点,但有一个警告说你可能不应该,可能会导致意外行为,所有这些。 对于这种全球回调,他们建议使用.ajaxStart()。 .ajaxStart()看起来很棒,除了它不公开XHR所以我可以添加标题。 我应该使用ajaxSetup添加beforeSend吗? 有没有办法从ajaxStart访问XHR? 其他选择?
我有一个视图,使用jQuery从控制器操作加载部分视图。 控制器操作使用Authorize属性进行修饰,如果用户在调用该操作被重定向到正确的LogOn页面时超时,则LogOn页面将插入到部分视图已经消失的视图中。 这里有另一篇文章描述了使用jQuery的解决方案,但不幸的是它不包含任何代码示例,这是我需要的,因为我不是很熟悉jQuery(以及新的Web开发),我需要解决这个问题我会尽快。 我想要做的就是将用户重定向到正确的LogOn页面,这对我来说听起来很顺利,但到目前为止似乎并不是这样。 如果jQuery是要走的路,有人可以发一个代码示例,这真的会帮助我。 谢谢。
我在我的应用程序中使用spring-security和jQuery。 主页通过Ajax动态加载内容到选项卡。 一切都很好,但有时我的选项卡中有登录页面,如果我输入凭据,我将被重定向到没有标签的内容页面。 所以我想处理这种情况。 我知道有些人使用ajax身份validation,但我不确定它是否适合我,因为它对我来说看起来很复杂,我的应用程序不允许任何访问而无需登录。 我想为所有ajax响应编写一个全局处理程序,如果我们需要进行身份validation,它将执行window.location.reload() 。 我认为在这种情况下,最好是获取401错误而不是标准登录表单,因为它更容易处理。 所以, 1)是否可以为所有jQuery ajax请求编写全局error handling程序? 2)我如何自定义spring-security的行为,以便为ajax请求发送401错误,但是常规请求会像往常一样显示标准登录页面? 3)你可能有更优雅的解决方案吗? 请分享。 谢谢。
我想使用jQuery的ajax()函数对REST服务进行XHR调用。 基本上,这可以正常工作,但REST服务只能通过https访问,并要求客户端使用客户端证书进行身份validation。 如何使用jQuery的ajax()函数发送客户端证书?