Tag: http

如何处理所有AJAX调用的特定HTTP错误?

我有一个Web应用程序,通过AJAX请求和发送数据,作为响应,我的服务器端发送HTTP状态代码,具体取决于具体情况。 因此,例如,如果用户在登录时尝试登录,我可能会返回400 HTTP status code 。 最后我用警报等处理它。 但处理这些HTTP状态代码变得太重,因为我正在大量使用AJAX。 这意味着我将使用每个AJAX请求重复处理HTTP状态代码,这将导致重复的代码,这是一个不好的做法。 所以, 我正在寻找的是一种在一个地方处理所有这些错误的方法,所以我只使用相同的代码处理所有401等。 我目前在做什么: 为每个AJAX调用手动处理错误。 通过使用$.ajax()的statusCode 。 statusCode: { 500: function(data) { alert(‘Some friendly error message goes here.’); } 对我来说,这似乎是一种矫枉过正,随着我的网络应用程序的发展,以及我创建更多的ajax调用。 我会一次又一次地重复这段代码。 目前,我唯一的想法就是创建一个可以在AJAX之上工作的函数,例如: function doAjax(type,url, data, moreVars) { //this function is just a SIMPLE example, could be more complex and flexible. $.ajax({ type: type, url: url, data: data, […]

是否有可能使application / json的跨域POST ajax请求?

我正在测试一些csrf的东西,我想知道是否可以使用Content-Type: application/json POST一个跨域的ajax请求Content-Type: application/json 每次我尝试用jQuery做这个: $.ajax({ type: “post”, url: “http://someotherdomain.com/endpoint”, contentType: “application/json; charset=UTF-8”, data: {“a”: “1”}, dataType: “json”, crossDomain: true, success: function(data){ alert(data); }, failure: function(data){ alert(data); } }); 我总是发送HTTP OPTIONS请求而不是HTTP POST 。 注意 – 我不关心接收数据,我只需要一个单向post。 请注意,内容类型不能是x-www-form-urlencoded ,也不能是GET请求。

如何使用Amazon S3创建一次性下载链接?

我想创建一个amazon s3托管文件的一次性下载链接。 文件下载后,此链接将过期。 我希望仍然可以托管此文件,但访问者只能下载一次该文件。 我需要这个场景是:我有一个文件下载网站,用户在那里支付文件费用。 我希望用户只能从网站(和amazon s3)下载文件一次,我也不希望用户能够与其他人共享直接下载链接。 如果这是不可能的,我想知道如果可能的话,用IP地址或Cookie来限制它是否更有效?

无法在JQuery 1.6.4中使用CORS进行PUT / POST / DELETE HTTP调用

所以,我可以使用CORS成功地对我的服务进行GET调用。 但是,在POST,PUT和DELETE操作的预检级别上必须出错。 但是,根据我的判断,我的服务器响应OPTIONS查询返回的标头响应是正确的,并与之中描述的相匹配 这是我的javascript代码,在JQuery 1.6.4中使用$ .ajax。 $.ajax({ url: ‘http://myhome:8080/TaskApproval/resources/tasks/2’, context: this, data: ‘ Get carrots from the grocery storeChrisGet Carrots !!2 ‘, timeout: 30000, type: ‘PUT’, contentType: ‘application/xml’, success: function(response) { alert(response); result = response; }, error: function(xhr) { alert(‘Error! Status = ‘ + xhr.status + ” Message = ” + xhr.statusText); } }); 现在,这就是我的HTTP […]

AJAX和FormsAuthentication,如何阻止FormsAuthentication覆盖HTTP 401?

在使用FormsAuthentication配置的一个应用程序中,当用户访问没有auth cookie或过时的访问受保护页面时,ASP.NET会发出HTTP 401 Unauthorized,然后FormsAuthentication模块在请求结束前拦截此响应,并将其更改为HTTP 302 Found,设置HTTP标头“Location:/ path / loginurl”以便将用户代理重定向到登录页面,然后浏览器转到该页面并检索登录页面,该页面未受保护,获取HTTP 200好的。 当AJAX没有被考虑时,这确实是一个非常好的主意。 现在我在我的应用程序中有一个返回JSON数据的URL,它需要用户进行身份validation。 一切运作良好,问题是如果auth cookie到期,当我的客户端代码调用服务器时,它将获得带有登录页面的html的HTTP 200 OK,而不是HTTP 401 Unauthorized(因为之前已解释过)。 然后我的客户端试图将登录页面html解析为json,然后失败。 那么问题是:如何应对来自客户端的过期身份validation? 应对这种情况的最优雅解决方案是什么? 我需要知道调用何时成功,我想使用HTTP语义来实现。 是否可以以安全的跨浏览器方式从客户端读取自定义HTTP标头? 如果请求是AJAX请求,有没有办法告诉FormsAuthenticationModule不执行重定向? 有没有办法使用HTTP标头覆盖HTTP状态,就像覆盖HTTP请求方法一样? 我需要Forms身份validation,我想避免重写该模块或编写我自己的表单身份validation模块。 问候。

无法通过document.form.submit发布跨度值

我正在编写一个表单并使用document.form.submit()来发布值,我希望我可以使用x = http.formvalue(“”)来获得良好的值。 但我发现如果我提交值,那么我将得到null ,如果我将替换为然后我可以很好地获得该值,任何人都可以帮我获取值仅使用吗? 谢谢! HTML Phone: Apply jQuery的 function apply() { document.form1.submit(); }

有没有办法使用JQuery GetJSON方法从外部页面获取HTML?

所以,假设您正在尝试执行jquery ajax请求,例如: $.ajax({ … url: http://other-website.com … }) 我理解,由于同源原则,此请求将失败,因为URL是外部域。 但是我听说GetJSON()不遵守这个原则,可以使用JSONP和附加的URL向外部服务器发送异步get请求。 我的问题是:是否可以使用GetJSON()从外部名称检索所有HTML作为JSON对象中的单个字符串? 如果它默认不这样做,有什么办法可以强制/欺骗它这样做吗?

在JavaScript中,有没有办法获取给定URL的源代码?

在JavaScript中,有没有办法在给定URL的情况下获取页面的源代码? 类似于PHP的file_get_contents()

控制台显示Uncaught SecurityError

我不确定如何解决下面的错误。 有人可以帮帮我吗? Uncaught SecurityError: Failed to read the ‘contentDocument’ property from ‘HTMLIFrameElement’: Blocked a frame with origin “http://mysite.net” from accessing a frame with origin “https://www.youtube.com”. The frame requesting access has a protocol of “http”, the frame being accessed has a protocol of “https”. Protocols must match.

来自javascript的HTTP请求使用包括标头的原始消息

我知道如何使用jQuery或XMLHttpRequest从javascript向我的REST api发出HTTP请求。 我现在要做的是在不设置标题值属性的情况下发出请求。 HTTP请求消息包括: 请求行,例如GET /images/logo.png HTTP / 1.1,它从服务器请求名为/images/logo.png的资源 标题,例如Accept-Language:en 空行 可选的邮件正文 对我的api的请求应该是这样的: GET /myapi/myresource/1234 HTTP/1.1 Host: localhost:51127 Content-Type: application/x-www-form-urlencoded Accept: application/json, text/csv Authorization: Basic 我想打开一个到localhost的连接:51127,发送上面的文字,然后得到回复。 这可能在JavaScript中? 更新:我知道如何设置标头。 我只想以不同的方式做到这一点。 有很多方法可以“构建”包含标题的请求并发送它。 我只是想手动构建它。