Tag: Ajax

jQuery ajax(jsonp)忽略超时并且不会触发错误事件

为了添加一些基本的error handling,我想重写一段代码,使用jQuery的$ .getJSON从Flickr中提取一些照片。 这样做的原因是$ .getJSON不提供error handling或超时工作。 由于$ .getJSON仅仅是$ .ajax的一个包装,所以我决定重写这个东西,并且让人惊喜,它完美的工作。 现在乐趣开始了。 当我故意引起404(通过更改URL)或导致networking超时(通过不被连接到interwebs),错误事件根本不会触发。 我不知道我做错了什么。 非常感谢帮助。 代码如下: $(document).ready(function(){ // var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne"; // correct URL var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne_______"; // this should throw a 404 $.ajax({ url: jsonFeed, data: { "lang" : "en-us", "format" : "json", "tags" : "sunset" }, dataType: "jsonp", jsonp: "jsoncallback", timeout: 5000, success: […]

如何使用jQuery序列化file upload

所以我有一个表单,我使用jQuery序列化函数通过ajax提交表单 serialized = $(Forms).serialize(); $.ajax({ type : "POST", cache : false, url : "blah", data : serialized, success: function(data) { } 但如果表单有一个<input type="file">字段…如何使用此ajax序列化方法将文件传递到窗体…打印$ _FILES不会输出任何内容

通过ajax调用php下载文件

我有一个button, onclick它会调用一个Ajax函数。 这是我的ajax函数 function csv(){ ajaxRequest = ajax();//ajax() is function that has all the XML HTTP Requests postdata = "data=" + document.getElementById("id").value; ajaxRequest.onreadystatechange = function(){ var ajaxDisplay = document.getElementById('ajaxDiv'); if(ajaxRequest.readyState == 4 && ajaxRequest.status==200){ ajaxDisplay.innerHTML = ajaxRequest.responseText; } } ajaxRequest.open("POST","csv.php",false); ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); ajaxRequest.send(postdata); } 我根据用户input创build了csv文件。 创build后,我希望它提示下载或强制下载(最好是强制)。 我在php文件的末尾使用下面的脚本来下载文件。 如果我在一个单独的文件中运行这个脚本,它工作正常。 $fileName = 'file.csv'; $downloadFileName = 'newfile.csv'; if […]

SCRIPT7002:XMLHttpRequest:networking错误0x2ef3,由于错误00002ef3,无法完成该操作

当我做一些Ajax调用时,我一直收到这个错误… 它甚至可能与地理编码有关,但我真的不知道如何捕获错误以显示对用户有用的东西…甚至如何解决问题,因为它似乎只是引用某种指针或某种东西: S 0x2ef3 SCRIPT7002:XMLHttpRequest:networking错误0x2ef3,由于错误00002ef3,无法完成该操作。 图像可能比错误消息更有帮助: 任何想法呢? 我的代码在1秒内触发10个Ajax调用,由地理编码服务器端进行处理。 该错误间歇性地出现。 有时我会得到地理编码结果,有时我会得到这个错误。 我会说我得到它的10%的时间。 它完全停止在jQuery中触发我的error handling程序的ajax调用。

用jQuery发送JSON数据

为什么代码下面发送的数据为City=Moscow&Age=25而不是JSON格式? var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );

JavaScript / jQuery通过POST和JSON数据下载文件

我有一个基于jQuery的单页web应用程序。 它通过AJAX调用与RESTful Web服务进行通信。 我试图完成以下内容: 将包含JSON数据的POST提交给REST URL。 如果请求指定了JSON响应,则返回JSON。 如果请求指定了PDF / XLS / etc响应,则返回可下载的二进制文件。 我现在有1和2工作,客户端jQuery应用程序通过创build基于JSON数据的DOM元素在网页中显示返回的数据。 从Web服务的angular度来看,我也有#3的工作,这意味着如果给出正确的JSON参数,它将创build并返回一个二进制文件。 但我不确定在客户端JavaScript代码中处理#3的最佳方法。 是否有可能从这样的ajax调用中获得可下载的文件? 如何让浏览器下载并保存文件? $.ajax({ type: "POST", url: "/services/test", contentType: "application/json", data: JSON.stringify({category: 42, sort: 3, type: "pdf"}), dataType: "json", success: function(json, status){ if (status != "success") { log("Error loading data"); return; } log("Data loaded!"); }, error: function(result, status, err) { log("Error […]

jQuery的Ajax调用和Html.AntiForgeryToken()

我已经在我的应用程序中实施了CSRF攻击的缓解措施,以下是我在互联网上的一些博客文章中阅读的信息。 特别是这些职位一直是我执行的驱动程序 ASP.NET和Web工具开发人员内容小组的ASP.NET MVC最佳实践 Phil Haack博客对跨站请求伪造攻击的剖析 ASP.NET MVC框架中的AntiForgeryToken -来自David Hayden博客的Html.AntiForgeryToken和ValidateAntiForgeryToken属性 基本上那些文章和build议说为了防止CSRF攻击,任何人都应该执行下面的代码: 1)在接受POST Http动词的每个动作上添加[ValidateAntiForgeryToken] [HttpPost] [ValidateAntiForgeryToken] public ActionResult SomeAction( SomeModel model ) { } 2)在向服务器提交数据的表单中添加<%= Html.AntiForgeryToken() %>助手 <div style="text-align:right; padding: 8px;"> <%= Html.AntiForgeryToken() %> <input type="submit" id="btnSave" value="Save" /> </div> 无论如何,在我的应用程序的一些部分,我正在使用jQuery的Ajax POST到服务器,根本没有任何forms。 例如,我让用户点击图片来执行特定操作。 假设我有一个包含活动列表的表格。 我在表格上的一列中有一个图像,标记为“已完成活动”,当用户单击该活动时,我正在执行Ajax POST,如以下示例所示: $("a.markAsDone").click(function (event) { event.preventDefault(); $.ajax({ type: "post", dataType: "html", url: […]

JavaScript可以连接MySQL吗?

JavaScript可以连接MySQL吗? 如果是这样,怎么样?

有什么办法来从Web服务器推送数据到浏览器?

当然,我知道Ajax,但Ajax的问题​​是浏览器应该频繁地轮询服务器以查找是否有新的数据。 这增加了服务器负载。 有没有更好的方法(即使使用Ajax),而不是频繁地轮询服务器?

CORS – 引入预检请求的动机是什么?

跨源资源共享是一种允许网页将XMLHttpRequests发送到另一个域(来自维基百科 )的机制,而且这非常重要(来自我:)。 在过去的几天里,我一直在摆弄CORS,我想我对一切工作都有很好的理解。 所以我的问题不是关于CORS /印前检查是如何工作的,而是关于作为新的请求types提出预检的原因 。 我没有看到为什么服务器A需要向服务器B发送预检(PR)以找出是否接受真实请求(RR)的任何理由 – B肯定有可能接受/拒绝RR任何以前的公关。 经过不lesssearch,我在www.w3.org(7.1.5)find了这条信息: 为了保护资源免受源于某些用户代理之前的跨源请求的影响,需要执行预检请求,以确保资源能够识别此规范。 我觉得这是最难理解的句子。 我的解释(应该更好地称之为“最佳猜测”)是关于保护服务器B免受来自服务器C不知道规范的请求的影响。 有人可以解释一个情况/显示一个问题,PR + RR解决比RR更好吗?