Questions tagged «ajax»

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

20
jQuery Ajax错误处理,显示自定义异常消息
有什么方法可以在jQuery AJAX错误消息中显示自定义异常消息作为警报? 例如,如果我想通过Struts by 在服务器端抛出异常throw new ApplicationException("User name already exists");,我想在jQuery AJAX错误消息中捕获此消息(“用户名已存在”)。 jQuery("#save").click(function () { if (jQuery('#form').jVal()) { jQuery.ajax({ type: "POST", url: "saveuser.do", dataType: "html", data: "userId=" + encodeURIComponent(trim(document.forms[0].userId.value)), success: function (response) { jQuery("#usergrid").trigger("reloadGrid"); clear(); alert("Details saved successfully!!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); } }); …

14
带有PHP的jQuery Ajax POST示例
我正在尝试将数据从表单发送到数据库。这是我使用的表格: <form name="foo" action="form.php" method="POST" id="foo"> <label for="bar">A bar</label> <input id="bar" name="bar" type="text" value="" /> <input type="submit" value="Send" /> </form> 典型的方法是提交表单,但这会导致浏览器重定向。使用jQuery和Ajax,是否可以捕获表单的所有数据并将其提交到PHP脚本(例如form.php)?
682 php  javascript  jquery  ajax  post 


4
使用新的URL更新地址栏,而不散列或重新加载页面
我梦ed以求的是chrome(开发者通道)实现了一种无需重新加载页面即可通过javascript(地址而不是域)更新地址栏的方法,或者他们确实做到了。 但是,我找不到我想读的文章。 我疯了还是有办法做到这一点(在Chrome中)? ps我不是在谈论window.location.hash等。如果上述内容存在,则此问题的答案将不成立。


7
大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?
我在这里看到了几个问题,例如如何调试RESTful服务,其中提到: 不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST。 我还听说其他一些来源的浏览器仅支持GET和POST: http://www.packetizer.com/ws/rest.html http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html http://www.xml.com/cs/user/view/cs_msg/1098 但是,在Firefox中进行的一些快速测试表明,发送PUT和DELETE请求可以正常工作- XMLHttpRequest成功完成了请求,并且使用正确的方法将请求显示在服务器日志中。我是否缺少某些方面的信息,例如跨浏览器的兼容性或非显而易见的限制?


14
使用jQuery.ajax发送multipart / formdata
我在使用jQuery的ajax函数将文件发送到服务器端PHP脚本时遇到问题。可以获取文件列表,$('#fileinput').attr('files')但如何将这些数据发送到服务器呢?使用文件输入时$_POST,服务器端php脚本上的结果数组()为0(NULL)。 我知道这是有可能的(尽管直到现在我还没有找到任何jQuery解决方案,只有Prototye代码(http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html)) )。 这似乎是相对较新的,所以请不要提及通过XHR / Ajax无法上传文件,因为它确实可以正常工作。 我需要Safari 5,FF和Chrome中的功能会不错,但不是必需的。 我现在的代码是: $.ajax({ url: 'php/upload.php', data: $('#file').attr('files'), cache: false, contentType: 'multipart/form-data', processData: false, type: 'POST', success: function(data){ alert(data); } });

13
开启-window.location.hash-更改了吗?
我正在使用Ajax和哈希进行导航。 有没有办法检查这种window.location.hash变化是否? http://example.com/blah #123到http://example.com/blah #456 如果我在加载文档时检查它,它将起作用。 但是,如果我具有基于#hash的导航,则在按浏览器上的“后退”按钮时将不起作用(因此,我从blah#456跳至blah#123)。 它显示在地址框中,但我无法用JavaScript捕获它。

12
使用XMLHttpRequest发送POST数据
我想使用JavaScript中的XMLHttpRequest发送一些数据。 说我的HTML形式如下: <form name="inputform" action="somewhere" method="post"> <input type="hidden" value="person" name="user"> <input type="hidden" value="password" name="pwd"> <input type="hidden" value="place" name="organization"> <input type="hidden" value="key" name="requiredkey"> </form> 如何在JavaScript中使用XMLHttpRequest编写等效项?

22
如何将数据发布为表单数据而不是请求有效载荷?
在下面的代码中,AngularJS $http方法调用URL,然后将xsrf对象作为“请求有效负载”提交(如Chrome调试器网络标签中所述)。jQuery $.ajax方法执行相同的调用,但是将xsrf提交为“表单数据”。 如何使AngularJS将xsrf提交为表单数据而不是请求有效载荷? var url = 'http://somewhere.com/'; var xsrf = {fkey: 'xsrf key'}; $http({ method: 'POST', url: url, data: xsrf }).success(function () {}); $.ajax({ type: 'POST', url: url, data: xsrf, dataType: 'json', success: function() {} });

9
jQuery获取textarea文本
最近,我开始使用jQuery,并且已经关注了一些教程。现在,我觉得使用它有点能力(这很简单),而且我认为如果能够在网页上制作一个“控制台”,那就太酷了(例如,像在FPS游戏中一样按下“键” ,等),然后将其Ajax本身返回到服务器以进行处理。 我原本以为最好的方法是将文本放入文本区域内,然后将其拆分,或者我应该使用keyup事件,将返回的键码转换为ASCII字符,将该字符附加到字符串中并将该字符串发送到服务器(然后清空字符串)。 我找不到有关从文本区域获取文本的任何信息,我所得到的只是键盘信息。另外,如何将返回的键码转换为ASCII字符?
486 javascript  jquery  ajax 

14
jQuery AJAX跨域
这是两个页面,test.php和testserver.php。 test.php <script src="scripts/jq.js" type="text/javascript"></script> <script> $(function() { $.ajax({url:"testserver.php", success:function() { alert("Success"); }, error:function() { alert("Error"); }, dataType:"json", type:"get" } )}) </script> testserver.php <?php $arr = array("element1", "element2", array("element31","element32")); $arr['name'] = "response"; echo json_encode($arr); ?> 现在我的问题是:当这两个文件都在同一服务器上(本地主机或Web服务器)时,它可以工作并被alert("Success")调用;如果它在不同的服务器上,则意味着Web服务器上的testserver.php和localhost上的test.php,它不起作用,并且alert("Error")正在执行。即使ajax内的URL更改为http://domain.com/path/to/file/testserver.php

21
对预检请求的响应未通过访问控制检查
我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ http:// localhost ”。 错误405 服务: socialMarkt.factory('loginService', ['$resource', function($resource){ var apiAddress = "http://server.apiurl.com:8000/s/login/"; return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, { getUser: {method:'POST'} }); }]); 控制器: [...] loginService.getUser(JSON.stringify(fbObj)), function(data){ console.log(data); }, function(result) { console.error('Error', result.status); } [...] 我正在使用Chrome,但我不知道该怎么做才能解决此问题。我什至将服务器配置为接受origin的标头localhost。

23
通过jQuery.Ajax下载文件
我在服务器端有一个Struts2操作,用于文件下载。 <action name="download" class="com.xxx.DownAction"> <result name="success" type="stream"> <param name="contentType">text/plain</param> <param name="inputName">imageStream</param> <param name="contentDisposition">attachment;filename={fileName}</param> <param name="bufferSize">1024</param> </result> </action> 但是,当我使用jQuery调用操作时: $.post( "/download.action",{ para1:value1, para2:value2 .... },function(data){ console.info(data); } ); 在Firebug中,我看到数据是通过Binary流检索的。我想知道如何打开文件下载窗口,以便用户可以在本地保存文件吗?

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.