Questions tagged «xmlhttprequest»

XMLHttpRequest(XHR)是一个JavaScript对象,它公开一个API,该API用于从运行Web浏览器的前端代码发出异步HTTP请求,即,用于启用称为AJAX的编程技术。XHR API是旧版API。它已被Fetch API取代。

30
如何异步上传文件?
我想用jQuery异步上传文件。 $(document).ready(function () { $("#uploadbutton").click(function () { var filename = $("#file").val(); $.ajax({ type: "POST", url: "addFile.do", enctype: 'multipart/form-data', data: { file: filename }, success: function () { alert("Data Uploaded: "); } }); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <span>File</span> <input type="file" id="file" name="file" size="10"/> <input id="uploadbutton" type="button" value="Upload"/> 运行代码段隐藏结果展开摘要 我只获取文件名,而不是上传文件。我该怎么做才能解决此问题?

30
访问控制允许原始多个域?
有没有一种方法可以使用Access-Control-Allow-Origin标头允许多个跨域? 我知道*,但是它太开放了。我真的只想允许几个域名。 例如,如下所示: Access-Control-Allow-Origin: http://domain1.example, http://domain2.example 我已经尝试了上面的代码,但是它似乎在Firefox中不起作用。 是否可以指定多个域,还是我只能使用一个?

17
XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用Origin null
我正在开发一个页面,该页面通过jQuery的AJAX支持从Flickr和Panoramio中提取图像。 Flickr方面运行良好,但是当我尝试$.get(url, callback)从Panoramio进行操作时,我在Chrome的控制台中看到错误: XMLHttpRequest无法加载http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150。Access-Control-Allow-Origin不允许使用Origin null。 如果我直接从浏览器查询该URL,它将正常工作。这是怎么回事,我可以解决这个问题吗?我是在错误地编写查询,还是Panoramio这样做妨碍了我的工作? Google并未在错误消息中显示任何有用的匹配项。 编辑 这是一些显示问题的示例代码: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150'; $.get(url, function (jsonp) { var processImages = function (data) { alert('ok'); }; eval(jsonp); }); }); 您可以在线运行示例。 编辑2 感谢达林在这方面的帮助。 上面的代码错误。 使用此代替: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&minx=-30&miny=0&maxx=0&maxy=150&callback=?'; $.get(url, function (data) { // can use …

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编写等效项?

20
如何读取本地文本文件?
我正在尝试通过创建一个接受文件路径并将文本的每一行转换为char数组的函数来编写一个简单的文本文件阅读器,但是它不起作用。 function readTextFile() { var rawFile = new XMLHttpRequest(); rawFile.open("GET", "testing.txt", true); rawFile.onreadystatechange = function() { if (rawFile.readyState === 4) { var allText = rawFile.responseText; document.getElementById("textSection").innerHTML = allText; } } rawFile.send(); } 这是怎么了? 从先前的版本中稍稍更改了代码后,这似乎仍然不起作用,现在给了我一个XMLHttpRequest例外101。 我已经在Firefox上对其进行了测试,并且可以工作,但是在Google Chrome中它却无法工作,并且一直给我一个异常101。如何使它不仅可以在Firefox上而且还可以在其他浏览器(尤其是Chrome)上运行)?

8
流行的浏览器中允许多少个并发AJAX(XmlHttpRequest)请求?
在Firefox 3中,答案是每个域6个:触发对同一个域的第7个XmlHttpRequest(在任何选项卡上)时,它将排队,直到其他6个完成之一。 其他主要浏览器的数量是多少? 另外,是否有办法绕过这些限制而无需我的用户修改他们的浏览器设置?例如,对jsonp请求(使用脚本标记注入而不是XmlHttpRequest对象)的数量有限制吗? 背景:我的用户可以从网页向服务器发出XmlHttpRequest,要求服务器在远程主机上运行ssh命令。如果远程主机关闭,则ssh命令需要几分钟的时间才能失败,最终使我的用户无法执行任何其他命令。


10
为什么我收到OPTIONS请求而不是GET请求?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> <script> $.get("http://example.com/", function(data) { alert(data); }); </script> 它对该URL进行OPTIONS请求,然后永远不调用回调函数。 如果它不是跨域的,则可以正常工作。 jQuery是否不应该仅使用<script>节点进行调用,然后在加载时进行回调?我知道我将无法获得结果(因为它是跨域的),但是没关系;我只想打通电话。这是一个错误,还是我做错了什么?

5
从JSON.parse捕获异常的正确方法
我在JSON.parse有时包含404响应的响应上使用。在返回404的情况下,是否有办法捕获异常然后执行一些其他代码? data = JSON.parse(response, function (key, value) { var type; if (value && typeof value === 'object') { type = value.type; if (typeof type === 'string' && typeof window[type] === 'function') { return new(window[type])(value); } } return value; });

9
XMLHttpRequest原点null不允许file:///到file:///的Access-Control-Allow-Origin(无服务器)
我正在尝试创建一个可通过启动其索引文件下载并在本地运行的网站。 所有文件都是本地文件,没有资源在线使用。 当我尝试使用jQuery的AJAXSLT插件来处理带有XSL模板(在子目录中)的XML文件时,出现以下错误: XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/data/home.xml. Origin null is not allowed by Access-Control-Allow-Origin. XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/assets/xsl/main.xsl. Origin null is not allowed by Access-Control-Allow-Origin. 发出请求的索引文件是file:///C:/path/to/XSL%20Website/index.html使用的JavaScript文件存储在中file:///C:/path/to/XSL%20Website/assets/js/。 如何解决此问题?


7
Access-Control-Allow-Origin不允许使用原点null
我制作了一个小的xslt文件,以使用以下代码创建一个名为weather.xsl的html输出: <!-- DWXMLSource="http://weather.yahooapis.com/forecastrss?w=38325&u=c" --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="yweather" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="/"> <img src="{/*/*/item/yweather:condition/@text}.jpg"/> </xsl:template> </xsl:stylesheet> 我想将html输出加载到html文件中的div中,我正在尝试使用jQuery进行如下操作: <div id="result"> <script type="text/javascript"> $('#result').load('weather.xsl'); </script> </div> 但是我遇到以下错误:Access-Control-Allow-Origin不允许使用Origin null。 我已经读过有关向xslt添加标头的信息,但是我不确定如何做到这一点,因此将不胜感激,并且如果无法以这种方式完成html输出中的加载,则建议如何进行其他操作这样做会很棒。

5
我如何保证原生XHR?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我想在我的前端应用程序中使用(本机)promise来执行XHR请求,但没有大型框架的所有傻子行为。 我希望我的XHR返回的希望,但是,这并不工作(给我:Uncaught TypeError: Promise resolver undefined is not a function) function makeXHRRequest (method, url, done) { var xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.onload = function() { return new Promise().resolve(); }; xhr.onerror = function() { return new Promise().reject(); }; xhr.send(); } makeXHRRequest('GET', 'http://example.com') .then(function (datums) { console.log(datums); });

7
当http:// localhost是起源时的致命CORS
即使我为服务器(nginx / node.js)设置了适当的标头,我仍然会遇到CORS问题。 我可以在“ Chrome网络”窗格->响应标题中看到: Access-Control-Allow-Origin:http://localhost 这应该可以解决问题。 这是我现在用来测试的代码: var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send(); 我懂了 XMLHttpRequest无法加载http://stackoverflow.com/。Access-Control-Allow-Origin不允许使用原始http:// localhost。 我怀疑这是客户端脚本而不是服务器配置中的问题...


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.