Tag: xmlhttprequest

检查XHR和progress-event的浏览器function

关注这个问题: jQuery AJAX上传大文本字段的进度 如何使它与旧版浏览器兼容? 正如您在上面的问题中所看到的,我依赖于XHR和progress-event。 现在对于旧浏览器,我需要检测它们是否不具备其中一个,因此我可以跳过进度条并仍然可以制作我的AJAXpost。 我认为它可以像这样工作: $.ajax({ xhr: function() { var xhr = $.ajaxSettings.xhr(); if (xhr instanceof window.XMLHttpRequest) { xhr.addEventListener(‘progress’, function(event) { if (event.lengthComputable) { progressPercent = Math.round(event.loaded/event.total*100)+’%’; $loader.width(progressPercent); } }, false); }else{ alert(‘XHR is no instance of window.XMLHttpRequest’); } return xhr; }, type: “POST”, … 但我不知道这是否存了,或者我还有什么需要检查的。 谢谢!

从javascript发送时如何保存图像服务器端

我正在通过阅读一堆教程来制作拖放上传脚本,但它们只涵盖了javascript部分,我在php部分遇到了问题。 我正在上传一张图片: $(‘#drop-zone’).bind(‘drop’, drop); function drop(e) { e.stopPropagation(); e.preventDefault(); e.dataTransfer = e.originalEvent.dataTransfer; traverseFiles(e.dataTransfer.files); } traverseFiles为每个文件创建一个foreach循环并调用upload function,我这样做: xhr = new XMLHttpRequest(); //some event listners for processing, on load xhr.open(“post”, “core/plugins/upload/upload.class.php”, true); xhr.setRequestHeader(“Content-Type”, “multipart/form-data”); xhr.setRequestHeader(“X-File-Name”, file.name); xhr.setRequestHeader(“X-File-Size”, file.size); xhr.setRequestHeader(“X-File-Type”, file.type); xhr.send(file); 然后在PHP我发现使用这将得到我的图像的原始数据 $file = file_get_contents(‘php://input’); 编辑:找到解决方案 $fh = fopen($savedir, ‘w’) or die(“can’t open file”); fwrite($fh, $file); fclose($fh);

使我的jQuery Ajax脚本使用CORS

我构建了一个从外部网站通过AJAX读取数据的应用程序。 它工作正常但我在另一个问题中发现,如果我想将它打包为BlackBerry 7,使用Webworks或Phonegap,我可能需要使用一种叫做CORS的东西。 除了使用“CORS”之外,如何将以下脚本转换为相同的内容? $(“#page_all”).live(‘pagebeforecreate’, function() { $.get(‘http://mysite.com/mobile/data/data_all.php’,function(data){ $(‘.content’).empty(); $(data).find(‘market’).each(function(){ var $market = $(this); var html = ”; html += ” + $market.attr(‘date’) + ”; html += ”; $(‘#result’).append(html).trigger( “create” ); $(‘#result .loading’).remove(); }); }); });

如何在回调函数中为chrome扩展图标设置动画?

这是我之前关于使用XMLHttpRequest()发布到我的书签应用程序的问题的后续内容。 当我收到status 200 OK我想以某种方式指示请求成功的扩展图标的更改。 我用反色创建了另一个图标success_icon.png ,我试图让新图标替换原始图标并淡入原始图标。 我明白这将是我的回调函数,但我不明白怎么办? 这是我的background.html 。 谢谢! chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.getSelected(null, function(tab) { tabId = tab.id; tabUrl = tab.url tabTitle = tab.title var formData = new FormData(); formData.append(“url”, tabUrl); formData.append(“title”, tabTitle); formData.append(“pitch”, “this is a note”); var xhr = new XMLHttpRequest(); xhr.open(“POST”, “http://ting-1.appspot.com/submithandlertest”, true); xhr.onreadystatechange = function (aEvt) { if (xhr.readyState == 4) […]

jQuery AJAX JSONP错误“意外的令牌”

我正在尝试在Chrome中进行跨域JSONP调用,但我不断回复“Uncaught SyntaxError:Unexpected token:”我尝试过:更改响应内容类型,设置xhr标头,JSON.stringify,几乎大多数在这里提供的解决方案,但到目前为止没有任何工作:-( $.ajax({ type: “POST”, url: “https://www.virustotal.com/vtapi/v2/url/report”, crossDomain: true, contentType: “application/json; charset=UTF-8”, dataType: ‘jsonp’, data: { apikey: “*”, resource: “http://www.1001freefonts.com/font/BaroqueScript.zip” }, jsonp: false, jsonpCallback: receive, success: function (data, textStatus, jqXHR) { console.log(“Data retrieved: ” + data); } }).done(function () { console.log(‘I think we are done here’); }) .error(function (e) { console.log(arguments); console.log(‘something went funny […]

如何处理XHR错误显示消息?

我正在尝试使用XHR从其他来源获取一些内容,如下所示: function fetchPage(str) { if(str==””) { document.getElementById(“table”).innerHTML=””; resetFilters(); $(‘#progress’).hide(); //fetching progress bar return; } if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); else // code for IE6, IE5 xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”); xmlhttp.onreadystatechange=postCallback; xmlhttp.open(“GET”, “fetch.php?url=http://www.sis.itu.edu.tr/tr/ders_programlari/LSprogramlar/prg.php?fb=”+str, true); xmlhttp.send(); // any stuff that goes here will happen before callback // (this is a good place […]

‘Access-Control-Allow-Origin’缺失。 我的下一步应该是什么?

我想从这里提取收益率曲线数据: http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015 下面的get请求返回一个200(OK)状态代码,但也有一个控制台注释说Cross-Origin Request Blocked,因为缺少CORS头“Access-Control-Allow-Origin”。 $.get(‘http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015′, function (data) { $(data).find(“entry”).each(function () { // or “item” or whatever suits your feed var el = $(this); console.log(“————————“); console.log(“d:NEW_DATE : ” + el.find(“d:NEW_DATE”).text()); console.log(“d:BC_1MONTH : ” + el.find(“d:BC_1MONTH”).text()); console.log(“d:BC_3MONTH : ” + el.find(“d:BC_3MONTH”).text()); }); }); 如果Access-Control-Allow-Origin未设置为’*’(公共),是否有关于访问数据的明确规则/法律? 达到这些问题时的共识是什么? 数据显然是公开的; 我是否要求美国财政部更改其Access-Control-Allow-Origin设置以包含我的域名? ( 访问控制 – 允许 – 来源多个源域? )。 很明显,在CORS之前还有解决方法( https://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/ […]

jQuery AJAX请求在IE8中失败并显示消息’错误:在调用open方法之前无法调用此方法。

我正在使用jQuery 1.4.2并尝试执行简单的AJAX请求。 目标URL返回一个JSON字符串(我用jslintvalidation它)。 该请求适用于Firefox和Chrome,但不想在IE8中工作,我无法确定原因。 这是电话: jQuery.ajax({ url: ‘http://’ + domain + ‘/’ + ‘helper/echo/’, dataType: ‘json’, success: function(data) { alert(data); }, beforeSend: function(request, settings) { alert(‘Beginning ‘ + settings.dataType + ‘ request: ‘ + settings.url); }, complete: function(request, status) { alert(‘Request complete: ‘ + status); }, error: function(request, status, error) { alert(error); } }); IE将执行beforeSend回调和错误回调。 […]

如何使用jQuery执行同步请求?

为什么不返回该函数的responseText? function LoadBookmarksAsXml() { return $.ajax( { type: ‘GET’, async: false, url: ‘http://www.google.com/bookmarks/?output=xml&num=10000’ }).responseText; } (如果我定义了一个成功的回调函数并将async设置为true,它会起作用!)在此先感谢!! 编辑 :不要担心跨域调用; user603003表示(在对已删除的答案的评论中),这是在允许跨域请求的Chrome扩展程序中。 解决方案,如果有人想要这样做: return $.ajax( { type: ‘GET’, async: false, url: ‘http://www.google.com/bookmarks/?output=xml&num=10000’, }); (您将获得XMLHTTPRequest对象。)

从GitHub中读取代码作为网页中的文本(原始)

我正在尝试从我的GitHub存储库中读取一些源代码(C语言),以便在我的网页中显示为文本。 我可以通过https://raw.github.com以原始模式访问代码。 我正在使用jQuery GET函数来读取数据,但它不起作用。 问题与XMLHttpRequest和Access-Control-Allow-Origin有关,但是,尽管我在stackoverflow上发现了一些相关问题( XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用Origin null )但它对我来说不起作用。 我尝试了一切。 我的jQuery代码: $(document).ready(function() { var url = ‘https://raw.github.com/raysan5/raylib/master/examples/ex01_basic_window.c’; $.get(url, function(data) { $(‘#code’).text(data); }, ‘text’); }); 拜托,有人可以帮我解决这个问题吗? 非常感谢!