gpt4 book ai didi

jquery - 实现 Google URL 缩短 API 时出现跨域问题

转载 作者:行者123 更新时间:2023-12-03 22:54:28 25 4
gpt4 key购买 nike

我正在尝试在 jQuery 的帮助下通过 AJAX 调用来实现 Google URL 缩短器 API。我做过这样的事情:

$(function() {
$('#btnshorten').click(function() {
var longURL = $('#tboxLongURL').val();

$.ajax({
url: 'https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo.gl/fbsS&key=AIzaSyANFw1rVq_vnIzT4vVOwIw3fF1qHXV7Mjw',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{ longUrl: "' + longURL +'"}',
dataType: 'json',
success: function(response) {
var result = eval(response); // Evaluate the J-Son response object.
}
});
});
});

但它在 IE 中生成错误。它显示“访问被拒绝”,并且在 Firebug 中显示“不允许 405 方法”。我在这里做错了什么吗?

最佳答案

在 Javascript 中,有 2 种方法可以实现 Google URL 缩短 API:

方法#1:使用 jsonlib,http://call.jsonlib.com/jsonlib.js 在这里尝试一下:http://jsfiddle.net/Qh4eR/

var longUrl = "http://google.com";
document.write("Long Url: "+longUrl);

function googlurl(url, cb) {
jsonlib.fetch({
url: 'https://www.googleapis.com/urlshortener/v1/url',
header: 'Content-Type: application/json',
data: JSON.stringify({longUrl: url})
}, function (m) {
var result = null;
try {
result = JSON.parse(m.content).id;
if (typeof result != 'string') result = null;
} catch (e) {
result = null;
}
cb(result);
});
}
googlurl(longUrl , function(s) { document.write("<BR>Short Url: "+s); });

方法 #2:使用 google 客户端库,https://apis.google.com/js/client.js,请在此处尝试:http://jsfiddle.net/pPHKe/2/

//var apiKey = 'YOUR_API_KEY';
//gapi.client.setApiKey(apiKey);
var longurl = 'http://www.google.com/';

gapi.client.load('urlshortener', 'v1', function() {
var request = gapi.client.urlshortener.url.insert({
'resource': {
'longUrl': longurl
}
});
var resp = request.execute(function(resp) {
if (resp.error) {
$("#show").html('Error. ' + resp.error.message);
} else {
$("#show").html("Short URL for "+longurl+" is: " + resp.id);
}
});
});

关于jquery - 实现 Google URL 缩短 API 时出现跨域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com