提供API的服务
我读/听说有很多服务可以让API做到这一点,但是我真的不想依赖任何人,所以如果有办法在没有他们的情况下让我知道.
服务器端
而且我读/听说这是在服务器端编码完成的,这使我感到困惑,我一直认为这是由Javascript完成的.
IP列表
我还读到/听说那些提供API的服务他们有来自ISP的非常庞大的IP列表,他们可以通过这个列表确定国家,这是真的吗?如果我想在没有API的情况下单独使用它,我是否也应该有一个列表?
使用TCP的Net Stream对象工作得很好(如node.js介绍视频中的presetend ),但我应该如何在HTTP中执行此操作?
有没有办法访问套接字/客户端http.createServer()?或者方法是什么?我试图从官方节点聊天演示 源代码中找出解决方案,但我真的不明白.
我理解客户端js,但是在我(作为客户端)通过AJAX向服务器端js发送消息之后发生了什么?如何发送给服务器上的其他客户端呢?
请注意,我不想学习该过程的逻辑,所以我不想使用socket.io或任何其他框架,库,模块.
非常感谢您的帮助!
我正在使用带有快速框架的node.js,我正在构建一个可以上传文件的表单,我正在使用node-formidable.
我的问题是,如果我发现上传文件有错误,我无法关闭请求.我想检查文件类型,大小等.所以我可以上传正确的文件,文件实际上没有上传,所以我不浪费时间.
所以问题是我无法阻止HTTP请求.
这是我到目前为止所尝试的:
request.connection.destroy();
response.end('something went wrong...');
Run Code Online (Sandbox Code Playgroud)
我假设connection.destroy()中止了请求,我知道这是因为它触发了强制表格中止事件(form.on('abort', function(){ ... }))但文件仍在上传,并且响应在文件上传后才到达.
那么我应该如何关闭HTTP请求,并将消息发送回客户端?
编辑:还有别的,当我不使用response.end()它然后它工作,除了客户端等待答案,这很奇怪:\
http.getnode.js中是否存在该方法的同步版本?
就像是:
http.getSync({
host: 'google.com',
port: 80,
path: '/'
}, function(response){
});
console.log(response)
Run Code Online (Sandbox Code Playgroud)
有时它会非常有用.
例如,用户正在登录,系统正在存储关于它们的信息示例:birth date,从会话中获取此信息或查询数据库是否更快?
我的想法是,用户只需要登录一次并且会话总是在那里,但是如果我查询数据库,那么如果用户重新加载页面,系统需要反复查询,而不是从数据中获取数据临时'地方'.
我使用PHP和MySQL.
人们总是告诉我,使用FOR IN是一种不好的做法,请你告诉我为什么?为什么最好和我一起使用?
我总是喜欢使用FOR IN,因为我也使用PHP,我使用foreach了很多,它与javascript中的FOR IN非常相似:)
我想知道,如果可能,如果元素已更改或其属性,如何检入javascript?
我的意思是像window.onhashchange元素之类的东西:
document.getElementById("element").onElementChange = function();
Run Code Online (Sandbox Code Playgroud)
我知道onchange是这样的,但是如果我想以这种方式知道它会起作用:
var element = {};
element.attribute = result;
element.attribute.onchange = function();
Run Code Online (Sandbox Code Playgroud) 我想创建一个我可以在元素上使用的新函数,如下所示:
document.getElementById("element").myNewFunction();
Run Code Online (Sandbox Code Playgroud)
我不是在说这个:
document.getElementById("element").myNewFunction = function(){
doSomething...
}
Run Code Online (Sandbox Code Playgroud)
因为这仅适用于该元素,但是我应该如何创建全局函数,我可以在所有元素上使用,例如JavaScript内置的元素?
我想创建这样的数组:
string users[1][3];
users["CIRK"]["age"] = "20";
users["CIRK"]["country"] = "USA";
users["CIRK"]["city"] = "New York";
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
index.cpp: In function 'int main()':
index.cpp:34: error: invalid types 'std::string [1][3][const char [5]]' for array subscript
index.cpp:35: error: invalid types 'std::string [1][3][const char [5]]' for array subscript
index.cpp:36: error: invalid types 'std::string [1][3][const char [5]]' for array subscript
Run Code Online (Sandbox Code Playgroud)
是否可以在C++中创建这样的数组?在PHP和Javascript中它们非常基本所以我有点惊讶,我怎么能在这里做到这一点?
如果delay超过2147483648毫秒(24.8551天),该功能将立即触发.
setTimeout(function(){ console.log('hey') }, 2147483648) // this fires early
setTimeout(function(){ console.log('hey') }, 2147483647) // this works properly
Run Code Online (Sandbox Code Playgroud)
我在Chrome v26和Node.js v8.21下尝试过它