Google语言翻译API可以干净利落地翻译成中文:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script>
google.load('language','1');
function googletrans(text) {
google.language.translate(text,'en','zh',function(result) {
alert(result.translation);
});
}
</script>
<input onchange="googletrans(this.value);">
Example input: "Hello"
Result: "??"
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法获得罗马化(使用英文字母发音).这是一个已知问题.
现在数据就在translate.google.com上(示例输入:"Hello"结果:"Nǐhǎo"),我甚至可以通过将浏览器指向以下内容来查看:
http://translate.google.com/translate_a/t?client=t&text=hello&hl=en&sl=en&tl=zh-CN&otf=2&pc=0
Result:
{"sentences":[{"trans":"??","orig":"hello","translit":"N? h?o"}],
"dict":[{"pos":"interjection","terms":["?"]}],"src":"en"}
Run Code Online (Sandbox Code Playgroud)
但不知何故,当我尝试使用ajax获取此URL时,它失败了(XMLHttpRequest Exception 101).有没有办法用ajax检索这个罗马化数据?
我得到状态代码0 ...但它是代码403.谁能告诉我问题是什么?
JQUERY
var jqxhr = $.ajax({
url: 'http://gdata.youtube.com/feeds/api/users/bernd/favorites?alt=json',
dataType: 'json'
}).success(function(xhr) {
alert(xhr.status);
}).error(function(xhr) {
alert(xhr.status);
return false;
})
Run Code Online (Sandbox Code Playgroud)
演示 - > http://jsfiddle.net/QFuBr/
提前致谢!
彼得
我有一个标准的HTML登录页面,我宁愿使用它而不是浏览器提供的标准HTTP身份验证弹出窗口.今天,我在登录后使用会话cookie跟踪会话,但我希望无状态并且每次都通过HTTP身份验证.我正在尝试的Web服务已经支持这一点,所以这是一个仅限浏览器的问题.
在jQuery中添加身份验证凭据是微不足道的,但我不知道如何保留它们.如果您从登录页面(jsp)转到主页(另一个jsp),您显然不会保留登录页面中的用户名和密码字段.我知道如果您从弹出窗口输入它们,某些浏览器将存储您的HTTP身份验证凭据,但我不知道它们是否在使用XHRRequest时被存储.如果他们这样做,浏览器之间是否有很多一致性?
此外,用户也需要能够"退出"应用程序.如果浏览器存储身份验证凭据,是否有办法使用JavaScript清除它们.
我觉得我不能成为第一个试图解决这个问题的人.是否有一些jQuery插件或已经处理过的东西?或者根本不可能做我想做的事情?
ajax jquery xmlhttprequest http-authentication stateless-session
我正在从w3schools学习XMLHttpRequest.我不明白以下代码片段.什么window.XMLHttpRequest意味着什么?是真是假?整个if/else结构是否仅用于考虑ie6和ie5,如果是这样,它们都可以被一行读取xmlhttp = new XMLHttpRequest()吗?
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
Run Code Online (Sandbox Code Playgroud) 我正在使用对象MSXML2.ServerXMLHTTP60向webservice发送请求; 有了这个对象,我可以通过异步方法加速数据加载,并避免锁定Excel屏幕(没有响应).但是,我仍然有一个问题,当webservice响应很长一段时间,出于ServerXMLHTTP60超时设置,请求函数是默默的,我无法捕获超时错误.在另一个问题上,@ osknows建议使用xmlhttp status = 408捕捉超时错误,但它对我不起作用.
我已经准备好了一个测试文件,你可以在这里下载.按下打开VBA源代码Atl + F8,您将看到CXMLHTTPHandler我从本指南中复制的类模块
If m_xmlHttp.readyState = 4 Then
If m_xmlHttp.Status = 200 Then
MsgBox m_xmlHttp.responseText
ElseIf m_xmlHttp.Status = 408 Then 'Debug never run to here?
MsgBox "Request timeout"
Else
'Error happened
End If
End If
Run Code Online (Sandbox Code Playgroud)
如何VBA捕获请求超时错误?
谢谢您帮忙!
我花了整个周末在我用Dojo编写的Web应用程序中详细说明了内存增长问题.
Web应用程序将"永远运行",因此不会重新启动浏览器.
该应用程序定期更新服务器(无跨域)的动态数据; 每5秒钟,进行一次AJAX调用以将新数据检索为JSON.
通过让应用程序运行几个小时,我观察到浏览器内存不断增长(最新的Chrome和Firefox,无论是在最新的Windows和Mac OS X上).
起初,我认为Dojo导致了这种行为.事实上,通过使用XMLHttpRequest对象切换到本机实现,我可以大大减少内存增长,但它仍然存在.随着每个AJAX请求,内存增长一点点(大约4-8KB).
我已经尝试过的:
我有...
因此即使我没有做任何事情(如下面第一个StackOverflow链接中所述)加载的数据,内存使用量也会增加:
我已经读过的内容:
我的测试HTML代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Native XHR Async</title>
</head>
<body>
<script>
var update = document.createElement("div");
document.body.appendChild(update);
var timeout = null;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = onReadyState;
function loadData()
{
xhr.open("GET","memory-leak.json?" + new Date().getTime());
xhr.send(null);
}
function onReadyState()
{
if (this.readyState === …Run Code Online (Sandbox Code Playgroud) 我看到google或twitter autosuggest发送的ajax请求非常轻量级,因为它们不会发送任何带有请求的cookie.我想知道他们是怎么做到的?我搜索了一些方法,但我找到了通过CORS发送的方式,但他们将请求发送到同一个域.
关于如何做到这一点的任何想法或方法.我正在使用铬.
提前致谢
我正在玩这个XmlHttpRequest东西.在一些教程和书籍中,它是onload在请求完成时调用的函数.在我的小实验中,永远不会调用此函数.这是我的代码:
window.onload = function() {
var url = "http://www.google.com";
var request = new XMLHttpRequest();
request.onload = function() {
var state = this.readyState;
var responseCode = request.status;
console.log("request.onload called. readyState: " + state + "; status: " + responseCode);
if (state == this.DONE && responseCode == 200) {
var responseData = this.responseText;
alert("Success: " + responseData.length + " chars received.");
}
};
request.error = function(e) {
console.log("request.error called. Error: " + e);
};
request.onreadystatechange = function(){
console.log("request.onreadystatechange …Run Code Online (Sandbox Code Playgroud) 好的,我已经为此寻找了.基本上我们使用$ http请求,即跨域请求.我们的服务器允许域,当请求返回200时,一切正常.但是,只要我们的服务器返回错误,500,401,无论如何,Angular认为这是一个CORS问题.
我用Fiddler调试了响应,以验证我的服务器是否返回了500个Angular阻塞.
这是请求:
var params = {
url: "fakehost/example",
method: 'GET',
headers: {
"Authorization": "Basic encodedAuthExample"
}
};
$http(params).then(
function (response) { // success
},
function (error) { // error
// error.status is always 0, never includes data error msg
});
Run Code Online (Sandbox Code Playgroud)
然后在控制台中,我会看到:
XMLHttpRequest无法加载fakehost/example.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'mylocalhost:5750'访问.
然而,在提琴手中,真正的反应是:
HTTP/1.1 500 Internal Server Error
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2014 12:18:17 GMT
Content-Length: 5683
{"errorId":null,"errorMessage":"Index was outside the bounds of …Run Code Online (Sandbox Code Playgroud) 我正在创建一个Web扩展并从XUL移植.我曾经能够轻松阅读文件
var dJsm = Components.utils.import("resource://gre/modules/Downloads.jsm").Downloads;
var tJsm = Components.utils.import("resource://gre/modules/Task.jsm").Task;
var fuJsm = Components.utils.import("resource://gre/modules/FileUtils.jsm").FileUtils;
var nsiPromptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
....
NetUtil.asyncFetch(file, function(inputStream, status) {
if (!Components.isSuccessCode(status)) {
return;
}
var data = NetUtil.readInputStreamToString(inputStream, inputStream.available());
var data = window.btoa(data);
var encoded_data_to_send_via_xmlhttp = encodeURIComponent(data);
...
});
Run Code Online (Sandbox Code Playgroud)
以上内容将被弃用.
我可以使用downloads.download()来了解最后一次下载是什么,但我无法读取该文件,然后获取encode_data_to_send_via_xmlhttp的等效文件
此外,在Firefox 57以上,意味着我必须尝试通过按钮单击或其他东西伪造用户操作,或上传文件.
Access to file:// URLs or reading files without any explicit user input
Run Code Online (Sandbox Code Playgroud)
是不是有一个简单的方法来阅读上次下载的文件?
xmlhttprequest ×10
ajax ×5
javascript ×3
jquery ×3
firefox ×2
angularjs ×1
cookies ×1
cors ×1
excel ×1
filereader ×1
http ×1
intervals ×1
memory-leaks ×1
refresh ×1
timeout ×1
vba ×1
xml ×1