Tag: xmlhttprequest

我的所有浏览器都没有发送原始标题

我正在尝试将图像加载到canvas元素中,然后将数据拉出到toDataURL()中。 我的网站运行Ruby on Rails 2.3 我的照片来自aws s3。 我有设置cors: * GET HEAD 3000 * 我有一个canvas元素: 好的,所以有些背景。 我最初尝试使用这样的代码,其中drawing_image只是图像的URL。 var outlineImage = new Image(); outlineImage.crossOrigin = ”; outlineImage.src = drawing_image; outlineImage.onload = function() { var canvas = document.getElementById(‘explain_canvas’); var context = canvas.getContext(“2d”); context.drawImage(outlineImage, 10, 10, 600, 150); } 但那不是发送原始标题。 所以我以为我会通过jquery尝试ajax调用 var outlineImage = new Image(); $(outlineImage).attr(‘crossOrigin’, ”); $.ajax({ […]

多个AJAX请求相互延迟

我的页面上有一个很长的轮询请求。 服务器端的脚本在20秒后设置为超时。 因此,当长轮询“空闲”并且用户按下另一个按钮时,该新请求的发送被延迟,直到前一个脚本超时。 我看不出jQuery方面的代码有什么问题。 为什么onclick事件会延迟? function poll() { $.ajax({ url: “/xhr/poll/1”, data: { user_id: app.user.id }, type: “POST”, dataType: “JSON”, success: pollComplete, error: function(response) { console.log(response); } }); } function pollComplete() { poll(); } function joinRoom(user_id) { $.ajax({ url: “/xhr/room/join”, dataType: “JSON”, type: “POST”, data: { user_id: app.user.id, room_id: room.id } }); } Join ############ […]

显示使用XHR2 / AJAX下载文件的进度条

我正在尝试使用Ajax下载文件并显示自定义下载进度条。 问题是我无法理解如何这样做。 我编写了代码来记录进度,但不知道如何启动下载。 注意:文件类型不同。 提前致谢。 JS // Downloading of files filelist.on(‘click’, ‘.download_link’, function(e){ e.preventDefault(); var id = $(this).data(‘id’); $(this).parent().addClass(“download_start”); $.ajax({ xhr: function () { var xhr = new window.XMLHttpRequest(); // Handle Download Progress xhr.addEventListener(“progress”, function (evt) { if(evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; console.log(percentComplete); } }, false); return xhr; }, complete: function () […]

可以使用xhrFields将onprogressfunction添加到jQuery.ajax()吗?

正如这里建议的那样: https : //gist.github.com/HenrikJoreteg/2502497 ,我正在尝试将onprogressfunction添加到我的jQuery.ajax()文件上传中。 上传工作正常,并且onprogress事件正在触发,但不是我预期的 – 而不是在某个时间间隔重复触发,它只在上传完成时触发一次。 有没有办法指定onprogress刷新的频率? 或者,我是否正在尝试做一些无法做到的事情? 这是我的代码: $.ajax( { async: true, contentType: file.type, data: file, dataType: ‘xml’, processData: false, success: function(xml) { // Do stuff with the returned xml }, type: ‘post’, url: ‘/fileuploader/’ + file.name, xhrFields: { onprogress: function(progress) { var percentage = Math.floor((progress.total / progress.totalSize) * 100); console.log(‘progress’, percentage); […]

XMLHttpRequest无法加载,请求的资源上没有“Access-Control-Allow-Origin”标头

XMLHttpRequest无法加载http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Affenhausen&destinations=Achenkirch&mode=driving&language=de-DE&sensor=false 。 请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此不允许原点’null’访问。 Javascript代码是 function distanceCalc(){ start_location = $(‘select.start option:selected’).val(); target_location = $(‘select.end option:selected’).val(); $.get(‘http://maps.googleapis.com/maps/api/distancematrix/xml?origins=’+start_location+’&destinations=’+target_location+’&mode=driving&language=de-DE&sensor=false’, function(data) { DreamWeaver有效,但是当我通过浏览器打开它时,我得到了同样的错误。

即使在调用abort之后,浏览器也会等待ajax调用完成(jQuery)

我有一些(可能)长时间运行的ajax调用,如果用户导航到另一个页面,我想中止。 以下jQuery代码在导航离开页面时调用所有挂起的XMLHttpRequest对象的中止: $.ajaxSetup({ beforeSend: function(xhr) { $(window).bind(‘beforeunload’, function() { xhr.abort(); }); } }); 在测试用例中,我强制在被调用的服务器端操作上等待10秒钟。 使用Firebug,我确认上面的代码确实导致所有挂起的ajax调用在我单击页面上的任何链接时立即停止。 但是,浏览器仍然等待整整10秒,然后再转到下一页。 IE似乎表现出相同的行为。 这是一个已知的浏览器行为吗? 在这种情况下,我能做些什么让用户立即离开页面? 提前致谢。

如何在跨域(CORS)XMLHttpRequest中发送自定义标头?

我正在尝试发送一个JSON有效负载的CORS请求。 我控制服务器和客户端。 我在这里关注: https : //developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redlocale = en-US&redirectslug = HTTP_access_control 服务器有一个自定义标头,必须与每个请求一起发送。 因此,此自定义标头使请求“不简单”,因此请求必须使用OPTIONS请求进行预检。 我可以看到jquery发出OPTIONS请求,但它不会发送自定义标头。 方法我尝试过: 使用beforeSend选项: http : //api.jquery.com/jQuery.ajax/ 使用ajax预filter: http : //api.jquery.com/jQuery.ajaxPrefilter/ 在这两种情况下,浏览器都不会发送自定义标头。 我正在使用FF 17.0.1,jquery 1.8.3。