Tag: xmlhttprequest

为什么Ajax得到请求失败

我的请求的响应是java脚本代码。 当我把URL放在浏览器中时,我可以在页面上看到整个生成的java脚本代码。 传递给$ .ajax的url格式如下: http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345 当我把上面的URL我看到请求成功。 现在,我使用jQuery在Ajax请求下使用此url。 var finalUrl = “http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345″; var req = $.ajax({ type:”GET”, url:finalUrl, type:”script”, data:””, success: function(html){ alert(‘Requese sucessful.’); }, complete:function(jqXHR, textStatus) { alert(“request complete “+textStatus); }, error: function(xhr, textStatus, errorThrown){ alert(‘request failed->’+textStatus); } }); 问题1:这会发出警报“请求失败错误”。为什么会这样? 问题2:有没有办法在上述过程中返回成功/失败代码?

使用.ajax(JQuery)跨域问题到我拥有的域 – 简单的PHP页面

所以我知道这是一个普遍的问题,看到很多人都在谈论它,但觉得我的情况是独一无二的,可能不像其他人那样参与其中。 我有一个主机网站,并试图用JQ和PhoneGap构建一个iPhone应用程序。 我希望人们能够从应用程序将他们的分数传递到我的主域,但是我感到害怕:“Access-Control-Allow-Origin不允许使用Origin null”。 当我试着打电话给这个时: $.ajax({ type: “POST”, url: ‘http://www.homesite.com/thephppage.php’, data: { ‘guid’: ‘12333-54’, ‘score’: 52, ‘initials’: ‘tod’ }, success: function (data) { try { } else { } } catch (err) { alert(err); } }, error: function (xhr) { alert(xhr.responseText); } }); 由于这是对我所拥有的域名的呼唤,我能做些什么来纠正这个问题? 谢谢。 Ť

从另一个localhost访问markLogic

我正在尝试使用markLogic作为文档存储库,并编写一个可以从我的localhost(Apache)访问它的客户端… 在markLogic中,我创建了一个新的REST服务器(8011),现在我想从客户端访问一个带有(希望很简单的)HTTP请求的markLogic数据库(实际上使用jQuery $ .ajax)。 然而,CORS问题的问题仍然是丑陋(呃)。 在研究了stackoverflow之后,我修改了$ .ajax以包含语句:“crossDomain:true” – 但这还不够。 我是否需要以任何方式修改我的localhost(Apache)? 可能需要将响应服务器(markLogic localhost:8011)修改为:“Access-Control-Allow-Headers:*。” ? 这该怎么做? 似乎命令应该是markLogic:“xdmp:add-response-header(”meta“,”description“)” – 但是,在哪里,以什么forms? 这是参数还是pgm语句? 这似乎是一个常见的问题,因为我碰到了这种性质的几个问题 – 但没有答案。

Javascript XML Parser

我们有一组web服务,我们必须在客户端发出请求(发送请求以jason格式获得响应,并通过解析XML文档 – 拥有XSLT支持会很棒)。 我们需要一个Javascript库,它将独立负责上述所有工作,并应处理浏览器兼容性问题。 我做了一些谷歌搜索,此时这看起来是一个适当的选择来捕捉 请,建议这是否是一个公平的选择或我错过了什么。 谢谢。

jQuery与XML命名空间的区别以及Opera和Firefox之间的xhr.responseXML

考虑一下: XML-problem $(function() { $(”).load(“text.xml”, function(responseText, textStatus, xhr) { var xml = $(xhr.responseXML); var x_txt = xml.find(‘atom\\:x’).text(); $(this).text(x_txt).appendTo(‘#container’); }); }); 加载文档时,此脚本应加载text.xml。 text.xml看起来像这样: Text 加载此文件后, atom:x -node的文本内容将附加到文档中。 我可以在浏览器窗口中看到“文本”。 这在Firefox中可以正常工作。 但是,除非我将查询从’atom\\:x’更改为’atom\\:x’ ,否则它在Opera中不起作用。 在这种情况下,它适用于Opera,但不适用于Firefox。 我发现了一种解决方法,即将查询更改为’atom\\:x, x’ ,但我更愿意深入研究。 现在有趣的转折:我可以直接内联xml而不是通过更改从XHR获取它 var xml = $(xhr.responseXML); 成 var xml = $(‘Text’); 在这种情况下, ‘atom\\:x’的查询将在两个浏览器中提供所需的结果,而’x’将在两个浏览器中都不会产生任何结果。 事实上,这在Opera中的工作方式不同,这让我得出结论,前者的行为是Opera中的一个错误。 这是一个合理的结论吗? 我在哪里可以指出描述它应该如何工作的标准? 结论: 这个问题的替代解决办法有哪些? 有没有比我找到的更好? 这是Opera中的一个错误吗? 如果是的话,哪个标准是这样说的? 希望你能帮忙:)

ajax和相对url

我真的不明白。 我有以下’获取’请求: $.ajax( { url: “api/getdirectories/”, dataType: ‘json’, success: function ( data ) { // Do stuff } } ); 这是我的登台服务器http://atlas/Reporter向我提供的页面。 在我的本地开发框中,这是有效的,并且在查看fiddler时,我看到了正确的URL http://localhost/Reporter/api/getdirectories 。 然而,在登台服务器上请求是http://atlas/api/getdirectories ,这是无效的,我收到404错误。 为什么我的路径中的’Reporter’部分被丢弃在登台服务器上? 在查看文档时,URL,baseURI,documentURI都是http://atlas/Reporter ,域名是atlas 。 与我的本地开发盒完全相同(除了它是’localhost’而不是’atlas’。 这个问题困扰了我一段时间了。 我想我已经弄明白了,一切都很好,然后再次遇到它。 我不认为这是一个相同的原始政策问题,因为我要求页面来自同一网站的数据。 那么,为请求确定的完整url究竟是如何确定的? 它似乎不是上面提到的文档变量之一连接到我的相对URL …所以这是如何工作的? Edit: Removed the ‘/’ from the URL as it is distracting from the real issue- behavior is the […]

请求方法是OPTIONS而不是post(现有的StackExchangepost没有帮助)

在您说另一篇文章( jQuery $ .ajax(),$ .post在Firefox中发送“OPTIONS”作为REQUEST_METHOD )之前,是的,它根本没有帮助,所以…… 我正在使用Chrome dev最新版本,当我尝试将文件发送到这样的远程video转换器服务的API时,它可以工作(一切都在coffeescript中)让我们调用此代码1: json_string = getNewSignedParams() xhr = new XMLHttpRequest xhr.open(‘POST’, some_url, true) xhr.setRequestHeader(“Cache-Control”, “no-cache”) xhr.setRequestHeader(“Content-Type”, “application/octet-stream”) xhr.setRequestHeader(“X-Requested-With”, “XMLHttpRequest”) xhr.setRequestHeader(“X-File-Name”, some_file.name || some_file.fileName) xhr.setRequestHeader(“X-Query-Params”, json_string) xhr.send some_file 以上返回200并且正常工作。 但是我在页面上有jQuery,所以我想我会使用它,所以我有上面这样的jQuery版本。 让我们称这个代码为2: $.ajax url: some_url type: ‘post’ data: some_file processData: false beforeSend: (xhr) -> xhr.setRequestHeader(“Cache-Control”, “no-cache”) xhr.setRequestHeader(“Content-Type”, “application/octet-stream”) xhr.setRequestHeader(“X-Requested-With”, “XMLHttpRequest”) xhr.setRequestHeader(“X-File-Name”, some_file.name […]

主线程上的同步XMLHttpRequest已弃用…尝试了许多不同的解决方案

我知道这个问题在这里发布了很多次,但是我尝试了所有可以在堆栈溢出上找到的解决方案,但没有一个能够工作。 我只是想做一个简单的ajax查询来加载div中的页面。 就像这样简单: function loadHome(){ $(‘#container’).html(”); $.ajax({ type: “GET”, url: “home.php”, success: function(msg){ $(“#container”).html(msg); } }); } 在控制台日志中,我得到了 主线程上的同步XMLHttpRequest由于其对最终用户体验的不利影响而被弃用。 如需更多帮助,请查看http://xhr.spec.whatwg.org/ 除非我重新加载页面,否则主页上的一些javascript将无法运行。 该页面默认在div中加载home.php ,但我希望它加载其他页面然后当我点击“home”时它应该正常加载,并且由于该错误而没有发生。 我已经尝试使用“async:true”,没有用。 我不知道该怎么办。

将XMLHTTPRequest转换为$ ajax

我使用以下代码在小工具中获取Google: Browser function getListCollection() { var url = “https://www.google.co.uk” xmlhttp = new XMLHttpRequest(); xmlhttp.open(‘GET’,url,true, ‘user’, ‘password’); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4); { document.getElementById(“listAttributes”).innerHTML = xmlhttp.responseText } } xmlhttp.send(null); } 我想知道如何使用$ ajax做同样的事情? 我看了不同的例子,但我不知道他们将如何适应这种情况。 或者,如果你可以发布一些不错的$ ajax教程。 当我将其更改为此时,它不起作用: Browser $.ajax({ url : ‘https://www.google.co.uk’, type : ‘GET’, success : function(data){ $(‘#listAttributes’).html(data); } }); 页面上没有任何内容。

jQuery AJAX只获取标题并决定是否获取内容

我正在制作一个基于jQuery.ajax()的AJAX脚本,并且已经到了我应该以某种方式检查我正在尝试加载的链接是一个html页面还是像SWF,图像或zip那样不同的东西。 所以我需要以某种方式检查内容类型标题并决定是否应该获取内容(如果它是html)或抛出ajax调用并执行window.location = theUrl 。 我不想要的是获取整个文件只是为了找到它是一个100MB的zip文件。 有没有办法在请求仍然继续时“暂停”(或中止)请求并只读取标题? HEAD调用不是一个选项,因为这样我每次都必须向服务器发出2个请求。 也许某种破解与setTimeout和低级xhr函数? 提前致谢! 🙂 编辑:尝试在请求完成之前在setTimeout中从xhr获取头文件,但在获取所有数据之前似乎没有填充它。 编辑2:我在jquery的事情上乱砍了自己与onreadystatechange绑定的东西: var xhrr = new window.XMLHttpRequest(); $.ajaxSetup({ xhr: function() { return xhrr } }); … $.ajax(….); var theirfunc = xhrr.onreadystatechange; xhrr.onreadystatechange = function() { console.log(‘xhr state: ‘, xhrr.readyState); theirfunc(); }; 所以这给了我状态1,2,3,4的顺序,我可以得到内容类型并成功中止。 我还在调查当jquery本身创建XMLHttpRequest对象时它为什么不起作用。 如果我跳过ajaxSetup部分并获取var xhrr = $.ajax(…)然后以相同的方式绑定它将无法工作。 那么我的xhr和jquery有什么不同呢? 我看到他们这样做: function createStandardXHR() { try { […]