Questions tagged «ajax»

AJAX(异步JavaScript和XML)是一种用于创建交互式网站用户界面的技术,而无需传统的网页刷新或重新加载。它使用客户端和服务器之间的异步数据交换来更新显示的信息并无缝响应用户交互。包括用于编程语言,库,框架,Web浏览器,协议和其他环境信息的其他标签。

4
在什么情况下,AJAX长/短轮询优于HTML5 WebSockets?
我正在为朋友构建一个小型聊天应用程序,但是不确定如何及时获取信息,而这不像强制刷新页面那样手动或基本。 目前,我正在使用简单的AJAX来实现此功能,但是这样做的缺点是,在经过短计时器后会定期命中服务器。 在研究长/短轮询时,我遇到了HTML5 WebSockets。这似乎很容易实现,但是我不确定是否存在一些隐藏的缺点。例如,我认为WebSockets仅受某些浏览器支持。我应该知道WebSockets还有其他缺点吗? 既然两种技术似乎都做同样的事情,那么在哪种情况下,一个人会优先使用一个?更具体地说,HTML5 WebSockets是否已使AJAX长/短轮询不再适用,还是有充分的理由偏爱AJAX而不是WebSockets?

8
在某些AJAX调用中出现“ net :: ERR_BLOCKED_BY_CLIENT”错误
最近,我意识到,一些adblocker扩展(例如adBlocker plus)会阻止一些Ajax调用。我在控制台上收到该错误: GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT 为什么它阻止某些Ajax调用而不阻止其他Ajax调用,是什么原因造成的?除了告诉用户关闭adblocker之外,还有其他解决方法吗?

14
为什么返回生成的HTML而不是JSON是一种不好的做法?还是?
使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用过这种方法很多次,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载要少得多吗? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上更紧凑。 错误更少,因为您得到的只是标记,而且没有代码。 在大多数情况下,编程将更快,因为您不必为客户端单独编写代码。 您站在哪一边?为什么?
301 javascript  jquery  html  ajax  json 

7
CORS:当凭据标志为true时,不能在Access-Control-Allow-Origin中使用通配符
我有一个涉及的设置 前端服务器(Node.js,域:localhost:3000)<--->后端(Django,Ajax,域:localhost:8000) 浏览器<-webapp <-Node.js(为应用提供服务) 浏览器(webapp)-> Ajax-> Django(服务ajax POST请求) 现在,我的问题是CORS设置,Web应用程序使用它来对后端服务器进行Ajax调用。在Chrome中,我不断 当凭据标志为true时,不能在Access-Control-Allow-Origin中使用通配符。 在Firefox上也不起作用。 我的Node.js设置是: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', 'http://localhost:8000/'); res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }; 而在Django我使用这个中间件 与此相伴 Webapp发出这样的请求: $.ajax({ type: "POST", url: 'http://localhost:8000/blah', data: {}, xhrFields: { withCredentials: true }, crossDomain: true, dataType: …


7
如何将Ajax与Django应用程序集成?
我是Django的新手,而Ajax的新手。我正在一个需要将两者整合的项目中。我相信我理解它们背后的原理,但是并没有找到对两者的良好解释。 有人可以给我一个简短的解释,说明如何将两者集成在一起才能更改代码库? 例如,我仍然可以将HttpResponseAjax与一起使用,还是必须随着Ajax的使用而改变我的回答?如果是这样,请您举例说明如何更改请求的响应?如果有什么不同,我返回的数据是JSON。
264 python  ajax  django 

21
防止浏览器缓存AJAX调用结果
看来,如果我使用加载动态内容$.get(),结果将缓存在浏览器中。 在QueryString中添加一些随机字符串似乎可以解决此问题(我使用new Date().toString()),但这听起来像是一种hack。 还有其他方法可以做到这一点吗?或者,如果唯一字符串是实现此目的的唯一方法,则除之外还有其他建议new Date()吗?


7
如何将HTML5画布另存为服务器上的图像?
我正在从事一个生成艺术项目,我希望允许用户从算法中保存生成的图像。总体思路是: 使用生成算法在HTML5 Canvas上创建图像 图像完成后,允许用户将画布作为图像文件保存到服务器 允许用户下载图像或将其添加到使用该算法制作的作品库中。 但是,我坚持第二步。在Google的帮助下,我找到了此博客文章,这似乎正是我想要的: 导致了JavaScript代码: function saveImage() { var canvasData = canvas.toDataURL("image/png"); var ajax = new XMLHttpRequest(); ajax.open("POST", "testSave.php", false); ajax.onreadystatechange = function() { console.log(ajax.responseText); } ajax.setRequestHeader("Content-Type", "application/upload"); ajax.send("imgData=" + canvasData); } 和相应的PHP(testSave.php): <?php if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) { $imageData = $GLOBALS['HTTP_RAW_POST_DATA']; $filteredData = substr($imageData, strpos($imageData, ",") + 1); $unencodedData …

4
您可以调用ko.applyBindings绑定部分视图吗?
我正在使用KnockoutJS并具有主视图和视图模型。我想要一个对话框(jQuery UI)弹出另一个视图,该视图将绑定到一个单独的子视图模型。 对话框内容的HTML使用AJAX检索,因此我希望能够ko.applyBindings在请求完成后调用,并且我希望将子视图模型绑定到对话框div中通过Ajax加载的HTML的一部分。 这实际上可行吗,还是在页面最初加载后调用ko.applyBindings一次时需要加载所有视图和视图模型?
257 ajax  html  knockout.js 

8
如何使用jQuery在GET请求中传递参数
我应该如何在jQuery Ajax请求中传递查询字符串值?我目前按照以下方式进行操作,但是我敢肯定有一种更清洁的方法,不需要我手动编码。 $.ajax({ url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress), success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 我看到了将查询字符串参数作为数组传递的示例,但是我看到的这些示例未使用$.ajax()模型,而是直接使用$.get()。例如: $.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } ); 我喜欢使用$ .ajax()格式,因为这是我习惯的格式(没有特别好的理由-只是个人喜好)。 编辑09/04/2013: 在我的问题结束(如“太本地化”)之后,我发现了一个相关的(相同的)问题-至少有3票赞成(我很遗憾没有首先找到它): 使用jquery进行POST,如何正确提供“数据”参数? 这完美地回答了我的问题,我发现以这种方式进行操作更容易阅读,而且不需要encodeURIComponent()在URL或DATA值中手动使用(这是我在bipen的答案中发现的不清楚的地方)。这是因为该data值是通过自动编码的$.param()。以防万一这对其他任何人都有用,这是我处理的示例: $.ajax({ url: "ajax.aspx?ajaxid=4", data: { "VarA": VarA, …
252 javascript  jquery  ajax  get 

14
JavaScript / jQuery通过JSON数据通过POST下载文件
我有一个基于jquery的单页webapp。它通过AJAX调用与RESTful Web服务进行通信。 我正在尝试完成以下任务: 将包含JSON数据的POST提交到REST URL。 如果请求指定JSON响应,则返回JSON。 如果请求指定PDF / XLS / etc响应,则返回可下载的二进制文件。 我现在有1&2,并且客户端jquery应用通过基于JSON数据创建DOM元素来在网页中显示返回的数据。从Web服务的角度来看,我也有#3工作,这意味着如果给出正确的JSON参数,它将创建并返回一个二进制文件。但是我不确定在客户端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) { …
250 javascript  jquery  ajax  rest 

13
如何将JSON对象转换为自定义C#对象?
有没有一种简单的方法可以使用通过AJAX传递的JSON对象填充C#对象? 这是使用JSON.stringify从页面传递给C#WEBMETHOD的JSON对象 { "user": { "name": "asdf", "teamname": "b", "email": "c", "players": ["1", "2"] } } 接收JSON对象的C#WebMetod [WebMethod] public static void SaveTeam(Object user) { } C#类,表示传递给WebMethod的JSON对象的对象结构 public class User { public string name { get; set; } public string teamname { get; set; } public string email { get; set; …
246 c#  asp.net  .net  ajax  json 

14
停止缓存jQuery .load响应
我有以下代码对URL进行GET请求: $('#searchButton').click(function() { $('#inquiry').load('/portal/?f=searchBilling&pid=' + $('#query').val()); }); 但是返回的结果并不总是能够反映出来。例如,我对响应进行了更改,吐出了堆栈跟踪,但是当我单击搜索按钮时,堆栈跟踪没有出现。我查看了控制ajax响应的基础PHP代码,它具有正确的代码,直接访问页面显示了正确的结果,但是.load返回的输出是旧的。 如果我关闭浏览器并重新打开它,它将运行一次,然后开始返回陈旧的信息。我可以通过jQuery来控制它,还是需要PHP脚本输出头来控制缓存?
244 jquery  ajax  caching 

8
如何取消/中止jQuery AJAX请求?
我有一个AJAX请求,将每5秒发送一次。但是问题出在AJAX请求之前,如果先前的请求未完成,我必须中止该请求并提出新的请求。 我的代码是这样的,如何解决这个问题? $(document).ready( var fn = function(){ $.ajax({ url: 'ajax/progress.ftl', success: function(data) { //do something } }); }; var interval = setInterval(fn, 500); );
244 ajax  jquery 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.