Questions tagged «ajax»

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

8
jQuery发送字符串作为POST参数
我想发送一个字符串作为ajax Post参数。 如下代码: $.ajax({ type: "POST", url: "http://nakolesah.ru/", data: 'foo=bar&ca$libri=no$libri', success: function(msg){ alert('wow'+msg); } }); 不管用。为什么?
96 ajax  post  jquery 

6
在javascript /浏览器中缓存jquery ajax响应
我想在javascript /浏览器中启用ajax响应的缓存。 从jquery.ajax docs: 默认情况下,始终发出请求,但浏览器可能会在其缓存之外提供结果。要禁止使用缓存的结果,请将cache设置为false。如果自上次请求以来未修改资产,则要导致请求报告失败,请将ifModified设置为true。 但是,这些地址都没有强制缓存。 动机: 我想$.ajax({...})在我的初始化函数中放入调用,其中一些请求相同的URL。有时我需要调用这些初始化函数之一,有时我调用多个初始化函数。 因此,如果该特定的URL已经加载,我想最小化对服务器的请求。 我可以推出自己的解决方案(有些困难!),但是我想知道是否有标准的方法可以做到这一点。

8
如何在Ajax加载的内容上绑定事件?
我有一个链接,该链接myLink应该将AJAX加载的内容插入到divHTML页面的(appendContainer)中。问题是click我绑定到jQuery 的事件没有在插入到appendedContainer中的新加载的内容上执行。该click事件绑定到未随我的AJAX函数加载的DOM元素上。 我必须更改什么才能绑定事件? 我的HTML: <a class="LoadFromAjax" href="someurl">Load Ajax</a> <div class="appendedContainer"></div> 我的JavaScript: $(".LoadFromAjax").on("click", function(event) { event.preventDefault(); var url = $(this).attr("href"), appendedContainer = $(".appendedContainer"); $.ajax({ url: url, type : 'get', complete : function( qXHR, textStatus ) { if (textStatus === 'success') { var data = qXHR.responseText appendedContainer.hide(); appendedContainer.append(data); appendedContainer.fadeIn(); } } }); …

6
如何使用socket.io向特定客户端发送消息
我从socket.io + node.js开始,我知道如何在本地发送消息和广播socket.broadcast.emit()功能:-所有连接的客户端都收到相同的消息。 现在,我想知道如何向特定客户端发送私人消息,我的意思是一个套接字,用于2个人之间的私人聊天(客户端到客户端流)。谢谢。

8
如何设计多用户ajax Web应用程序以使其并发安全
我有一个网页,显示来自服务器的大量数据。通信通过ajax完成。 每次用户交互并更改此数据(说用户A重命名)时,它都会告诉服务器执行操作,然后服务器返回新的更改数据。 如果用户B同时访问该页面并创建一个新的数据对象,它将再次通过ajax通知服务器,服务器将为用户返回新对象。 在A的页面上,我们具有带有重命名对象的数据。在B的页面上,我们有一个带有新对象的数据。在服务器上,数据既有重命名的对象又有新的对象。 当多个用户同时使用该页面时,我有哪些选项可以使该页面与服务器保持同步? 宁可避免每次更改时锁定整个页面或将整个状态转储给用户的选项。 如果有帮助,则在此特定示例中,网页将调用静态Web方法,该方法在数据库上运行存储过程。存储过程将返回它已更改的所有数据,并且不再返回。然后,静态Web方法将存储过程的返回转发给客户端。 赏金编辑: 您如何设计使用Ajax与服务器通信但避免并发问题的多用户Web应用程序? 即并发访问功能和数据库中的数据,而没有任何数据或状态损坏的风险

12
使用ajax请求下载文件
我想在单击按钮时发送“ ajax下载请求”,所以我尝试了这种方式: javascript: var xhr = new XMLHttpRequest(); xhr.open("GET", "download.php"); xhr.send(); download.php: <? header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename= file.txt"); header("Content-Transfer-Encoding: binary"); readfile("file.txt"); ?> 但是没有按预期工作,我该怎么办?先感谢您

4
在ajax请求中检测到重定向?
我想使用jQuery来获取URL,并明确检查它是否响应302重定向,但不遵循重定向。 jQuery $.ajax似乎总是遵循重定向。如何防止这种情况,并且不遵循重定向就可以看到重定向? 标题为“ jquery ajax redirect”的标题存在各种问题,但它们似乎都涉及实现其他目标,而不仅仅是直接检查服务器给出的状态。
94 jquery  ajax  http 

10
请求的资源错误中不存在“ Access-Control-Allow-Origin”标头
我正在尝试获取新闻网站的供稿。以为我会使用Google的feed API将feedburner供稿转换为json。以下网址将以json格式从Feed中返回10个帖子。http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://feeds.feedburner.com/mathrubhumi 我用下面的代码来获取上述URL的内容 $.ajax({ type: "GET", dataType: "jsonp", url: "http://ajax.googleapis.com/ajax/services/feed/load", data: { "v": "1.0", "num": "10", "q": "http://feeds.feedburner.com/mathrubhumi" }, success: function(result) { //..... } }); 但它不起作用,出现以下错误 XMLHttpRequest无法加载 http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http%3A%2F%2Ffeeds.feedburner.com%2Fmathrubhumi。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ http:// localhost ”。 我该如何解决?
93 javascript  jquery  json  ajax  cors 

9
使用onclick执行PHP函数
我正在寻找一种仅单击a-tag即可调用PHP函数的简单解决方案。 PHP: function removeday() { ... } HTML: <a href="" onclick="removeday()" class="deletebtn">Delete</a> 更新: html和PHP代码在同一个PHP文件中
92 javascript  php  ajax  onclick 

6
React-未安装组件上的setState()
在我的react组件中,我尝试在ajax请求进行时实现一个简单的微调器-我使用状态来存储加载状态。 由于某种原因,我的React组件下面的这段代码抛出此错误 只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了setState()。这是无人值守。请检查未定义组件的代码。 如果我摆脱了第一个setState调用,错误就会消失。 constructor(props) { super(props); this.loadSearches = this.loadSearches.bind(this); this.state = { loading: false } } loadSearches() { this.setState({ loading: true, searches: [] }); console.log('Loading Searches..'); $.ajax({ url: this.props.source + '?projectId=' + this.props.projectId, dataType: 'json', crossDomain: true, success: function(data) { this.setState({ loading: false }); }.bind(this), error: function(xhr, status, err) …

6
HTTP状态代码0是否有任何含义?
看来,当您从浏览器中的脚本发出XMLHttpRequest时,如果浏览器设置为脱机工作或拔出了网络电缆,则该请求将以错误和状态= 0来完成。在允许范围内未列出0 HTTP状态代码。 状态码0是什么意思?对于所有浏览器以及所有HTTP客户端实用程序,这意味着同一件事吗?它是HTTP规范的一部分还是其他协议规范的一部分?这似乎意味着根本无法发出HTTP请求,这可能是因为无法解析服务器地址。 哪种错误消息适合显示给用户?“或者您没有连接到Internet,或者网站遇到了问题,或者地址中可能存在键入错误”? 我应该补充一点,当设置为“脱机工作”时,我会在FireFox中看到该行为,而当设置为“脱机工作”时,我不会在Microsoft Internet Explorer中看到该行为。在IE中,用户会看到一个对话框,其中提供了可供选择的联机选项。FireFox在返回错误之前不会通知用户。 我是为了响应“显示更好的错误消息”的请求而问这个。Internet Explorer的功能很好。它告诉用户是什么引起了问题,并为他们提供了解决问题的选项。为了提供与FireFox等效的UX,我需要推断问题的原因并通知用户。那么,我总共可以从状态0推断出什么?它具有普世意义还是什么都没告诉我?

8
jQuery Ajax-进行Ajax调用时如何检测网络连接错误
我有一些Javascript JQuery代码,每5分钟对服务器执行Ajax调用,这是为了保持服务器会话活动并保持用户登录。我$.ajax()在JQuery中使用方法。如果用户的互联网连接断开,以便KeepAlive脚本继续运行,则该函数似乎具有“错误”属性,我正在尝试使用该属性。我正在使用以下代码: var keepAliveTimeout = 1000 * 10; function keepSessionAlive() { $.ajax( { type: 'GET', url: 'http://www.mywebapp.com/keepAlive', success: function(data) { alert('Success'); setTimeout(function() { keepSessionAlive(); }, keepAliveTimeout); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('Failure'); setTimeout(function() { keepSessionAlive(); }, keepAliveTimeout); } }); } 当我运行它时,每隔10秒,我将在警报框中的屏幕上显示“成功”弹出窗口,这很好。但是,一旦拔下网络电缆,我什么也没得到,我期望调用错误函数并看到“失败”警报框,但是什么也没有发生。 我是否假设“错误”功能仅适用于从服务器返回的非“ 200”状态代码,我是否正确?进行Ajax调用时,是否可以检测网络连接问题?

10
如何使用后退按钮检测用户是否进入页面?
此问题类似于跟踪用户在浏览器上单击后退按钮时的问题,但不相同...我有一个解决方案,并将其发布在此处以供参考和反馈。如果有人有更好的选择,我全都听! 情况是,我的页面上有一个“就地编辑”功能,例如flickr。即有一个“单击此处添加描述” DIV,单击该按钮将变为带有“保存”和“取消”按钮的TEXTAREA。单击“保存”将数据发布到服务器以更新数据库,并将新的描述放在DIV中代替TEXTAREA。如果刷新页面,则会使用“单击以编辑”选项从数据库中显示新的描述。这些天,相当标准的Web 2.0东西。 问题是,如果: 页面加载时没有描述 用户添加了说明 通过单击链接将页面导航到远离 用户单击后退按钮 然后,显示的内容(从浏览器的缓存中显示)是页面的版本,其中不包含包含新描述的动态修改的DIV。 这是一个相当大的问题,因为用户认为他们的更新已丢失,并且不一定了解他们需要刷新页面才能看到更改。 因此,问题是:如何在页面加载后将其标记为已修改,然后检测用户何时“返回”页面并在这种情况下强制刷新?

12
是否可以通过某些调试器(例如WebKit,FireBug或IE8开发人员工具)来调试动态加载的JavaScript?
根据我最近的问题,我已经创建了一些JavaScript函数来动态加载部分视图。因此,我无法调试任何动态加载的JavaScript。因为所有加载的JavaScript都将通过“ eval”函数进行评估。 但是,我发现了一种使用以下脚本来动态创建脚本到当前文档的头中的方法来创建新的JavaScript。所有加载的脚本将显示在HTML DOM中(您可以使用任何调试器找到它)。 var script = document.createElement('script') script.setAttribute("type","text/javascript") script.text = "alert('Test!');"; document.getElementsByTagName('head')[0].appendChild(script); 顺便说一下,大多数调试器(IE8开发人员工具栏,Firebug和Google Chrome)无法在任何动态脚本中设置断点。因为可调试脚本必须在页面加载后的第一时间加载。 您有调试动态脚本内容或文件的想法吗? 更新1-添加测试源代码 您可以使用以下xhtml文件尝试调试someVariable值。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Dynamic Loading Script Testing</title> <script type="text/javascript"> function page_load() { var script = document.createElement('script') script.setAttribute("id", "dynamicLoadingScript"); script.setAttribute("type","text/javascript"); script.text = "var someVariable = …
90 javascript  ajax 

8
在jQuery UI自动完成功能上未检测到任何结果
是的,在您向我指出这些问题之前,我已经审查了有关该主题的六篇文章,但是我仍然对为什么这行不通感到困惑。 我的目标是检测自动填充何时产生0个结果。这是代码: $.ajax({ url:'sample_list.foo2', type: 'get', success: function(data, textStatus, XMLHttpRequest) { var suggestions=data.split(","); $("#entitySearch").autocomplete({ source: suggestions, minLength: 3, select: function(e, ui) { entityAdd(ui.item.value); }, open: function(e, ui) { console.log($(".ui-autocomplete li").size()); }, search: function(e,ui) { console.log("search returned: " + $(".ui-autocomplete li").size()); }, close: function(e,ui) { console.log("on close" + $(".ui-autocomplete li").size()); $("#entitySearch").val(""); …

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.