Tag: http

使用jquery延迟加载iframe(延迟src http调用)

我正在寻找类似于jQuery图像延迟加载插件的东西 ,但是对于iframe 。

如何使用Flask和jQuery重定向

我正在使用Flask作为我的后端和jQuery用于我正在进行的个人项目。 要登录我想这样做: $.ajax({ type: “POST”, data: JSON.stringify(body), //username and password contentType: ‘application/json; charset=utf-8’, url: “/login”, success: successFunction, error: errorFunction, complete: completeFunction }); 在errorFuction中,我会告诉用户他们的用户名或密码不正确等。 在后端我的/登录路线看起来像这样 @app.route(“/login”, methods=[‘GET’, ‘POST’]) def login(): if(request.method == “POST”): #retrieve the username and password sent data = request.json if(data is None or not ‘username’ in data or not ‘password’ in data): abort(400) […]

为什么我的服务器忽略了ajax请求的身份validation标头?

从JavaScript我用过: xhr.setRequestHeader(“Authorization”, make_base_auth(username,password)); 但是,HTTP请求没有Authorization标头: OPTIONS /restService/index?_=1362589672203 HTTP/1.1 Host: myappinheroku.herokuapp.com User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: es-MX,es-ES;q=0.8,es-AR;q=0.7,es;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Origin: http://127.0.0.1:8081 Access-Control-Request-Method: GET Access-Control-Request-Headers: authorization,content-type Connection: keep-alive 似乎完全忽略了身份validation。 怎么了? 我们如何为CORS启用身份validation? 这是服务器对上述请求的响应: HTTP/1.1 401 Full authentication is required to access this resource Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: origin, authorization, accept, content-type, x-requested- with […]

检测并记录外部JavaScript或CSS资源无法加载的时间

我有多个引用外部js和css资源。 大多数情况下,这些都适用于第三方分析等。有时(传闻),这些资源无法加载,通常会导致浏览器超时。 当外部JavaScript或CSS资源无法加载时,是否可以检测并登录服务器? 我正在考虑某种类型的延迟加载机制,当失败时,将调用一个特殊的URL来记录此失败。 有什么建议吗? 我认为发生了什么: 用户点击我们的页面,服务器端成功处理并提供页面 在客户端,HTML标头尝试连接到我们的第三方集成合作伙伴,通常是以“http://www.someothercompany.com …”开头的javascript包含。 另一家公司无法处理我们的负载或者有很多工作时间,因此连接失败。 用户看到一个通用的IE Page Not Found,而不是我们服务器中的一个。 因此,即使我的网站已启动且其他所有内容都运行良好,只是因为这个调用第三方服务器失败,一个在HTML页面标题中,我们完全无法启动。

浏览器不能只使用之前的ajax调用缓存吗?

我试图依靠浏览器缓存来保存jQuery中从AJAX调用返回的JSON数据。 正常的浏览器活动始终依赖于浏览器缓存。 示例:页面重新加载时不会重新获取jpg和gif图像。 但是当我尝试使用jQuery getJSON ajax调用时,我似乎无法避免从服务器获取数据。 我返回的标题看起来像这样(用firebug确认): Transfer-Encoding: chunked Date: Wed, 05 Aug 2009 02:55:39 GMT Content-Type: text/plain; charset=ISO-8859-1 Expires: Wed, 05 Aug 2009 03:55:39 GMT Cache-Control: max-age=3600 然而,立即刷新页面会导致相同的请求命中服务器。 我已经看过几篇关于避免缓存行为的post,这不是我需要的。 我已经看过几篇关于利用缓存的post,但这些似乎都依赖于在DOM中保存数据。 我想要的东西就像缓存图像在页面重新加载时一样。 浏览器是否只能从它自己的缓存中获取它? –x – x – x – x UPDATE –x – x – x– 令我失望的是,几位受人尊敬的人都认为这不仅是可能的。 有些人甚至认为它不应该(这仍然让我感到困惑)。 Stubburn故障,我尝试了以下几点: 我在要缓存的所有传出页面上设置了Etag标头(我选择一些选择URL参数来表示我正在请求的数据,并将其用于Etag值) 在下一个请求开始时,我只需检查请求中是否有“If-None-Match”标头。 如果是这样,那么浏览器不会像我想要的那样缓存请求,所以我发送了304 Not Modified响应。 测试显示Firefox不会缓存我的请求(但我仍然可以避免’获取我的cgi的昂贵数据’部分),而IE6实际上会缓存它(甚至不会尝试从服务器取回)。 […]

在AJAX请求中接收Zip文件作为响应

所以我正在开发一个需要调用服务器的网站,它会返回一个zip文件,问题是我并不确定我做的一切都是正确的。 代码看起来像这样: function download(){ if($(‘.download’).hasClass(‘activeBtn’)){ $.ajax({ type: ‘GET’, url: someUrl, contentType: ‘application/zip’, dataType: ‘text’, headers: { ‘Api-Version’: ‘3.4’ } }).then(function (data) { console.log(data); //Basically prints the byte array //Here I should build the file and download it }); } } 正如您所看到的,我需要使用响应中的字节数组来构建文件,我该怎么做?

如何防止jQuery ajax在post后重定向?

我有一个链接调度Ajax POST来执行操作。 如果用户尚未登录,则action方法返回302重定向到登录页面。 如果发生这种情况,我想捕获重定向,以便我可以在灯箱中显示登录表单。 但是,似乎jQuery遵循重定向而不返回控制或调用回调函数。 在下面的代码中,从不调用302重定向的警报,并且在调用dataFiler函数时,数据是登录页面的内容。 如何看到页面已发送302重定向,并分支到不同的操作? $.ajax(url, { data: postArguments, type : “POST”, success: function (data) { alert(‘ success function’); }, statusCode: { 302: function () { alert(‘ received redirect 302’); }, 301: function () { alert(‘ received redirect 301’); } }, dataFilter: function (data, type) { alert(‘got data ‘ + data); return data; […]

使用jQuery使用multipart / form-data进行HTTP POST调用?

我正在尝试使用jQuery使用multipart / form-data进行HTTP POST调用: $.ajax({ url: ‘http://localhost:8080/dcs/rest’, type: ‘POST’, contentType:’multipart/form-data’, data: ‘dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true’, //dataType: “jsonP”, success: function(jsonData) {alert(‘POST alert’); data=jsonData ; }, error : function(XMLHttpRequest, textStatus, errorThrown) { console.log(‘An Ajax error was thrown.’); console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); } }); 它不起作用。 Firebug返回未定义的错误,返回的XMLHttpRequst对象multipart字段设置为false。 我可以做些什么来使用jQuery工作? 如果不可能有一个简单的实现这个? 即idon’t不需要传输文件,只需要一些数据。 但服务器需要多部分。

当出现用户/表单validation错误时,我应该向AJAX请求发送什么响应/状态代码?

我正在创建我的Web应用程序的一个function,用户可以“编辑就地”记录并使用jQuery通过AJAX提交表单。 当某人“ajax编辑”一个记录并且他们提交有效数据的表单时,我发送一个200状态代码,触发jQuery AJAX Success函数,然后忽略响应体(因为它成功了,我不需要它) ),并折叠表格。 当存在表单validation错误时,我发送400状态代码以触发jQuery错误方法,并在请求正文中指定哪些字段未validation。 在之前的StackOverflow问题中,有人提到我发送400状态代码并使用响应正文“似乎很奇怪”。 我的方法不是最佳做法吗? 在这种情况下,你会建议我做什么?

如何在论坛上发帖时保持用户的会话?

我有一个会话超时为15分钟的网站。 在某些页面上,用户偶尔会花费超过15分钟的时间来填写回复。 在这种情况下,保持会话活动的最佳解决方案是什么? 我已经在这些页面上使用了JQuery ,所以可能ping服务器,但是在什么事件上呢? 后端是Tomcat上的Struts 。