Tag: xmlhttprequest

如何使跨域请求

如您所知,Web浏览器的安全性不允许进行跨域请求。 我读了一本书,说只有在可以将文件放在服务器上时(意味着将您加载到同一个请求的域的页面),才应该使用XMLHTTPRequest。 如果你不能 – 你应该寻找替代品。 我的问题是 : 什么是XMLHTTPRequest的跨域替代? 怎么样WebSockets ? 这项技术是否允许跨域请求? 编辑:它仍然不清楚… 例如,我从www.domain1.com拉我的页面,我需要从www.domain2.com请求JavaScript。 所以拉的页面应该包括像这样的东西: <script src="www.domain2.com/script.js"></script> 避免跨域限制。 我可以使用JSONP,请求将如下所示: http ://ww.domain1.com/?callback=someFunction.js 但是:是不是一样? 我只是从另一个领域拉js! 它是否避免了跨域限制?

什么是最简洁的方式来获得JQuery AJAX请求的进展?

在普通的javascript中很简单:只需要​​将callback附加到{XMLHTTPRequest}.onprogress var xhr = new XMLHttpRequest(); xhr.onprogress = function(e){ if (e.lengthComputable) var percent = (e.loaded / e.total) * 100; }; xhr.open('GET', 'http://www…', true); xhr.onreadystatechange = function() { … }; xhr.send(null); 但我正在做一个Ajax网站下载与JQuery( $.get()或$.ajax() )的HTML数据,我想知道哪一个是获取请求的进展,以显示它与一个一点进度栏,但好奇,我没有发现任何有用的JQuery文档…

防止Xmlhttprequestredirect

当发送XMLHttpRequest-s(即获取redirect状态码并自己处理它)时,是否有可能阻止浏览器跟随redirect?

file_get_contents(“php:// input”)或者$ HTTP_RAW_POST_DATA,哪一个更好地获取JSON请求的主体?

file_get_contents(“php:// input”)或者$ HTTP_RAW_POST_DATA,哪一个更好地获取JSON请求的主体? 在使用客户端XmlHTTPRequest时,我应该使用哪种请求types( GET或POST )来发送JSON数据? 我的问题是从这个答案中得到启发: 如何使用curl将JSON发布到PHP 他说: 从协议的angular度来看, file_get_contents("php://input")实际上是更正确的,因为无论如何你并没有真正处理http多部分表单数据。

在控制台中禁止Chrome“无法加载资源”消息

我正在编写一个脚本,它使用XMLHttpRequest来search由相对path定义的文件,尝试parsing相对于脚本所知道的其他相同的域绝对path的相对path,然后尝试从已parsing的文件加载文件url。 如果我遇到一个404,我只是尝试解决文件相对path对另一个绝对path,并再次尝试。 对于这个特殊的脚本来说,遇到一个404错误是非常好的,但是我的控制台里充满了“无法加载资源:服务器响应404(Not Found)”消息的状态,我想压制它们。 我可以看到没有任何错误 – 错误情况由xmlHttpRequest.onreadystatechange处理程序处理,并且没有window.onerror。 有什么办法可以抑制这些消息吗? 谢谢

为页面上的所有AJAX请求添加一个“钩子”

我想知道是否有可能“钩”到每一个AJAX请求(无论是因为它将要发送,或事件),并执行一个操作。 在这一点上,我假设页面上还有其他第三方脚本。 其中一些可能使用jQuery,而另一些则不可以。 这可能吗?

POST数据以JSON格式

我有一些数据需要转换为JSON格式,然后用JavaScript函数进行POST。 <body onload="javascript:document.myform.submit()"> <form action="https://www.test.net/Services/RegistrationService.svc/InviteNewContact" method="post" name="myform"> <input name="firstName" value="harry" /> <input name="lastName" value="tester" /> <input name="toEmail" value="testtest@test.com" /> </form> </body> 这就是现在这个post的样子。 我需要它提交JSON格式的值,并使用JavaScript进行POST。

AngularJS错误:交叉原点请求仅支持协议scheme:http,data,chrome-extension,https

我有一个非常简单的angularJS应用程序的三个文件 的index.html <!DOCTYPE html> <html ng-app="gemStore"> <head> <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js'></script> <script type="text/javascript" src="app.js"></script> </head> <body ng-controller="StoreController as store"> <div class="list-group-item" ng-repeat="product in store.products"> <h3>{{product.name}} <em class="pull-right">{{product.price | currency}}</em></h3> </div> <product-color></product-color> </body> </html> 产品color.html <div class="list-group-item"> <h3>Hello <em class="pull-right">Brother</em></h3> </div> app.js (function() { var app = angular.module('gemStore', []); app.controller('StoreController', function($http){ this.products = gem; } ); app.directive('productColor', function() […]

JavaScript / Ajax中的HTTP HEAD请求?

是否可以单独使用JavaScript中的XMLHTTPRequest执行HTTP头部请求? 我的动机是节约带宽。 如果没有,是否有可能伪造它?

一个CORS POST请求从普通的javascript工作,但为什么不与jQuery?

我正在尝试创build一个“跨源”发布请求,并且我使用如下简单的Javascript工作: var request = new XMLHttpRequest(); var params = "action=something"; request.open('POST', url, true); request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");}; request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.setRequestHeader("Content-length", params.length); request.setRequestHeader("Connection", "close"); request.send(params); 但我想使用jQuery,但是我无法使它工作。 这就是我想要的: $.ajax(url, { type:"POST", dataType:"json", data:{action:"something"}, success:function(data, textStatus, jqXHR) {alert("success");}, error: function(jqXHR, textStatus, errorThrown) {alert("failure");} }); 这导致失败。 如果有人知道为什么jQuery不起作用,请让我们都知道。 谢谢。 (我使用的是jQuery 1.5.1和Firefox 4.0,而我的服务器正在响应一个正确的Access-Control-Allow-Origin头)