我在我的一个web应用程序中使用了TinyURL API。直到现在,它运行良好,但今天,一个错误发生,我不知道为什么:我没有修改我的脚本自9月以来!
下面是我使用的代码:
function getTinyURL(longURL, success)
{
var API = 'http://json-tinyurl.appspot.com/?url=',
URL = API + encodeURIComponent(longURL) + '&callback=?';
$.getJSON(URL, function(data){
success && success(data);
});
}
var url='http://[...]'; //A very long URL
getTinyURL(url, function(data)
{
if(data.tinyurl)
{
$('#link').text(data.tinyurl);
$('#link').attr('href',encodeURI(data.tinyurl));
}
else
{
$('#link').text('An error occurs...');
console.log('ERROR: '+data.error);
$('#link').attr('href','#');
}
});正如我已经说过的,即使这段代码以前运行良好,今天仍然会发生错误。在控制台日志中,将显示以下消息: API调用urlfetch.Fetch()需要比可用配额更多的配额。
我不明白这个信息:这是否意味着错误来自TinyURL?我是应该修改我的代码,还是应该等待TinyURL对此错误做些什么?
提前感谢!
发布于 2012-03-23 23:42:42
json-appspot服务背后的魔力并不特别复杂。
如果您有能力向服务器端添加逻辑,您可以自己创建并运行类似的内容。您需要安装一个连接到tinyurl.com的"shim“或网关脚本,并返回格式化的JSON字符串。
下面是一些例子:
他们也做同样的事。使用这两种方法,您都可以将其放到服务器上,然后在jQuery中从页面中调用它:
var stub = "http://myserver.example.com/api/tinyurlshim.asp?url=",
urlToEncode = "http://example.com/very/long/url/to/encode?with=query¶ms=too",
url = stub + encodeURIComponent(urlToEncode);
$.getJSON(url, function(data) { alert('response: ' + data.tiny);} );https://stackoverflow.com/questions/7908333
复制相似问题