Tag: api

为什么jQuery的回调参数不一致?

jQuery中的一个常见模式是一个接受回调的方法,该回调在该数组中传递一个数组元素及其索引。 然而,似乎完全随机的是哪个论证首先出现。 例如,来自http://api.jquery.com上的jQuery文档: jQuery.each( collection, callback(indexInArray, valueOfElement) ) .each( function(index, Element) ) jQuery.map( array, callback(elementOfArray, indexInArray) ) .map( callback(index, domElement) ) jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] ) .filter( function(index) ) 在三种情况下( jQuery.each , .each , .map ),索引首先出现。 在另外两个( jQuery.grep , jQuery.map )中,元素首先出现。 我知道api现在已经确定了,但这对我来说似乎是一个严重的不一致。 有没有我缺失的模式或者这只是随机的? 这应该修复还是我应该闭嘴并记住它们?

Facebook Connect,jQuery UI和jQuery.noConflict()

我正在尝试在我的个人网站上构建一个页面,该页面都使用了jQuery并实现了Facebook Connect 。 不幸的是, Facebook client API使用$ token ,这意味着我必须调用jQuery.noConflict() 不幸的是,我发现由于一些疯狂的原因, 正如Rick Strahl指出的那样,jQuery UI不尊重noConlict()。 完全没有。 事实上,如果你看一下源代码,就会有$ s。 我真的希望能够使用jQuery UI – 特别是dialog()组件, draggable也非常好 – 但我甚至更多,我不想手工编辑 – 测试和维护 – 我自己的jQuery UI任何部分的副本。 这是我不得不刮胡子的一系列牦牛中最近的一次,这让我的智慧结束了。 有什么建议? 救命!

使用jQuery.ajax提交文件会产生TypeError

我试图使用jQuery的ajax方法从表单提交文件: var ofile=document.getElementById(‘image’).files[0]; var formdata = new FormData(); formdata.append(“image”,ofile); $.ajax({ url:’elements/save_elements’, data:formdata, type:’POST’ }); 这会导致错误TypeError: ‘append’ called on an object that does not implement interface FormData 。 是什么导致这个错误? 它不会发生在实际的formdata.append ,而是发生在jQuery中。

html5的文件api与jquery的例子?

我想使用html5的文件api,结合外部拖放function(将外部文件拖到指定的位置并捕获其内容)和jquery。 我找到了一个有效的非jquery示例:( html5 demo:file api ) var drop = document.getElementById(‘drop’); drop.ondragover = function () {this.className = ‘focus’; return false;}; drop.ondragend = function () { this.className = ”; return false; }; drop.ondrop=function(e) { this.className = ”; e.preventDefault(); var file = e.dataTransfer.files[0]; var reader = new FileReader(); reader.onload = function (evt) { console.log(evt.target.result); } reader.readAsText(file); }; 这很好用。 […]

如何通过API查询搜索Instagram?

我想建立一个由Instagram照片驱动的小型“即时图像搜索”应用程序。 这就像Google Instant,您可以在其中键入并在键入更多字母时显示/更新结果。 您可以看到由Google图片提供支持的实时演示应用 。 我知道这可以用更大的引擎(谷歌,雅虎,Bing),但我不知道Instagram是否允许这样做。 任何熟悉API的人都可以提供帮助吗? 如果无法通过API搜索有意义的话。 我只想先在这里查看,因为有这么多知识渊博的程序员。

jQuery.each实现与本机Array.forEach不同

有没有人为什么是优秀的jQuery.each函数设计与(现在)原生Array.forEach ? F.ex: var arr = [‘abc’,’def’]; arr.forEach(function(entry, index) { console.log(entry); // abc / def }); 这绝对有道理。 但是jQuery选择将index作为第一个参数: $.each(arr, function(index, entry) { console.log(entry); }); 有谁知道这个设计决定背后的原因? 我总是广泛地使用$.each ,但它始终告诉我索引是第一个参数,因为它很少使用。 我知道jQuery通过this实现了直接引用,但是如果你这样做会非常困惑: ​var arr = [‘abc’,’def’]; $.each(arr, function() { console.log(this === ‘abc’); // false both times, since this is a String constructor });​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 并不是让我感到困扰,我更喜欢使用原生的polyfills来获得最常见的新数组函数,但我一直对设计决策感到好奇。 也许它是在浏览器实现原生forEach并且传统支持阻止他们更改它之前的较旧时间制作的,或者……? 或者,也许是这样设计的,因为它也可以在本机对象上使用,而不是把关键值放在回调中的“有意义”……? 旁注:我知道underscore.js(也许还有其他库)反过来(更类似于原生函数)。

使用AJAX加载RSS提要:Google Feed API的替代方案?

我一直在使用Google Feed API加载RSS Feed,但看起来谷歌已经关闭了API。 例如,当我尝试在http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&q=http%3A%2F%2Frss.nytimes.com%2Fservices%2Fxml%2Frss%2Fnyt%2FHomePage.xml上加载纽约时报RSS源时http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&q=http%3A%2F%2Frss.nytimes.com%2Fservices%2Fxml%2Frss%2Fnyt%2FHomePage.xml ,我收到此回复: {“responseData”: null, “responseDetails”: “This API is no longer available.”, “responseStatus”: 403} 有没有可行的替代方案?

使用Youtube的javascript API和jQuery

我目前正在尝试使用YouTube API作为jQuery插件的一部分,我遇到了一些问题。 YT api的工作方式是加载flash播放器,当它准备就绪时,它会发回一个名为onYouTubePlayerReady(playerId)的全局函数。 然后,您可以将该id与getElementById(playerId)结合使用,将javascript调用发送到Flash播放器(即player.playVideo(); )。 您可以使用player.addEventListener(‘onStateChange’, ‘playerState’);将事件监听器附加到播放器player.addEventListener(‘onStateChange’, ‘playerState’); 它会将任何状态更改发送到另一个全局函数(在本例中为playerState )。 问题是我不确定如何将状态变化与特定玩家联系起来。 我的jQuery插件可以愉快地将多个video附加到选择器并将事件附加到每个video,但是当状态实际发生变化时,我会忘记它发生在哪个播放器中。 我希望一些示例代码可以使事情更清晰一些。 以下代码应该可以在任何html文件中正常工作。 Sandbox google.load(“jquery”, “1.3.2”); google.load(“jqueryui”, “1.7.0”); (function($) { $.fn.simplified = function() { return this.each(function(i) { var params = { allowScriptAccess: “always” }; var atts = { id: “ytplayer”+i }; $div = $(”).attr(‘id’, “containerplayer”+i); swfobject.embedSWF(“http://www.youtube.com/v/QTQfGd3G6dg&enablejsapi=1&playerapiid=ytplayer”+i, “containerplayer”+i, “425”, “356”, “8”, null, null, params, […]

Access-Control-Allow-Origin不允许加载XMLHttpRequest

我正在尝试访问education.com API数据。 但是,我一直收到错误指出的错误: XMLHttpRequest无法加载http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json 。 Access-Control-Allow-Origin不允许使用Origin。 我的代码如下: $(function(){ $.getJSON(‘http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json’, function(data) { console.log(data); }); }); 有谁可以帮助我吗?

Access-Control-Allow-Origin不允许使用origin http:// localhost。

我有一个问题…我试图在“ http://api.master18.tiket.com/search/autocomplete/hotel?q=mah&token=90d2fad44172390b11527557e6250e50&secretkey=83e2f0484edbd2ad6fc9888c1e30ea44&output=json ”中获取json api 当我尝试离线模式(这意味着我在记事本中复制json API并在我的localhost中调用它)时使用此代码… function getLast(){ $.ajax({ url:”http://localhost/tickets/json/api_airport.json”, type:’GET’, dataType:”json”, success:function(data){console.log(data.results.result[1].category);} }); } 它完美运行。:) 但当我尝试使用以下代码的真实url(“ http://api.master18.tiket.com/search/autocomplete/hotel?q=mah&token=90d2fad44172390b11527557e6250e50&secretkey=83e2f0484edbd2ad6fc9888c1e30ea44&output=json ”)时: $.ajax({ url:”http://api.master18.tiket.com/search/autocomplete/hotel?q=mah&token=90d2fad44172390b11527557e6250e50&secretkey=83e2f0484edbd2ad6fc9888c1e30ea44&output=json”, type:’GET’, crossDomain:true, beforeSend: function(x) { if(x && x.overrideMimeType) { x.overrideMimeType(“application/j-son;charset=UTF-8”); } }, success:function(data){console.log(“Success”);} }); 然后在我的谷歌浏览器javascript控制台中,出现如下错误:“XMLHttpRequest无法加载http://api.master18.tiket.com/search/autocomplete/hotel?q=mah&token=90d2fad44172390b11527557e6250e50&secretkey=83e2f0484edbd2ad6fc9888c1e30ea44&output=json 。原点( http) Access-Control-Allow-Origin不允许使用:// localhost 。“ 我知道,它必须是跨域问题,有人可以帮助我吗? nb:一些代码,我从堆栈溢出社区得到….谢谢:)