![](/img/trans.png)
[英]XMLHttpRequest cannot load. Origin is not allowed by Access-Control-Allow-Origin
[英]Google Translate API: XMLHttpRequest cannot load. Origin http://test.dyndns.org is not allowed by Access-Control-Allow-Origin
我剛剛獲得了對Google Translate API v2的API訪問權限,並且我在AJAX請求中使用了我的API密鑰,但我一直收到此錯誤消息:
XMLHttpRequest無法加載https://www.googleapis.com/language/translate/v2?key=[myKey]&source=zh-CN&target=en&q=%E6%82%A8%E5%A5%BD%E4%B8%96 %E7%95%8C%0A。 Access-Control-Allow-Origin不允許來源http:// [mySub] .dyndns.org。
我已經閱讀了所有相似的帖子,但我仍然無法弄清楚問題是什么。 請注意,滿足以下條件:
這是我的jQuery ......
$.ajax({
url: 'https://www.googleapis.com/language/translate/v2',
datatype: 'json',
data: {
key: '[myKey]',
source: 'zh-CN',
target: 'en',
q: '您好世界' // Hello world
},
success: function(data) {
console.log(data);
},
failure: function() {
console.log('failure');
}
});
我希望這是顯而易見的!
您應該使用jsonp
而不是json
作為dataType。
看看這個例子: http : //jsfiddle.net/H9mfd/
工作實例感謝CD =獲獎
var apiKey = "YOUR-API-KEY-HERE";
var langSource = "en";
var langTarget = "it";
var apiurl = "https://www.googleapis.com/language/translate/v2?key=" + apiKey + "&source=" + langSource + "&target=" + langTarget + "&q=";
var text = 'This is a test string';
$.ajax({
url: apiurl + encodeURIComponent(text),
dataType: 'jsonp',
success: function(data) {
// console.log(data);
console.log(data.data.translations[0].translatedText);
}
});
很有幫助。 +1。
這是提供的示例,循環通過JSON對象來替換值:
var dictionary = {"term" : "term"};
var apiKey = YOUR API KEY;
var langSource = "en";
var langTarget = "it";
var apiurl = "https://www.googleapis.com/language/translate/v2?key=" + apiKey + "&source=" + langSource + "&target=" + langTarget + "&q=";
var newDictionary = {};
$.each(dictionary, function(key, value) {
$.ajax({
url: apiurl + encodeURIComponent(value),
dataType: 'jsonp',
success: function(data) {
var localO = new Object();
localO[key] = data.data.translations[0].translatedText;
$.extend(newDictionary, localO);
}
});
});
//newDictionary == {"term": "italian translation"}
嘗試使用以下標志啟動Google Chrome:
- 禁用網絡安全
該錯誤可能是由於谷歌Chrome“同源策略”,這是避免跨域ajax調用的一項功能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.