Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.js中使用jQuery_Javascript_Jquery_Node.js_Jsdom - Fatal编程技术网

Javascript 在Node.js中使用jQuery

Javascript 在Node.js中使用jQuery,javascript,jquery,node.js,jsdom,Javascript,Jquery,Node.js,Jsdom,嗨,我是新来的,希望我能说清楚。我一直试图在node.js中调用(?)jQuery,但我所做的一切都失败了。我已经试着解决这个问题好几个小时了,但仍然希望有人能帮我解决这个问题 我正在尝试使用他们的api从twitch获取一些信息。在这种情况下,如果拖缆处于联机或脱机状态。当我在本地打开页面(不带node.js)时,jQuery代码运行良好。但是,当我尝试使用node.js时,它会在以下方面出错:$ 这是经过一些研究和随机尝试后得出的结论。。(node.js和jQuery仍然是新手): ` `

嗨,我是新来的,希望我能说清楚。我一直试图在node.js中调用(?)jQuery,但我所做的一切都失败了。我已经试着解决这个问题好几个小时了,但仍然希望有人能帮我解决这个问题

我正在尝试使用他们的api从twitch获取一些信息。在这种情况下,如果拖缆处于联机或脱机状态。当我在本地打开页面(不带node.js)时,jQuery代码运行良好。但是,当我尝试使用node.js时,它会在以下方面出错:$

这是经过一些研究和随机尝试后得出的结论。。(node.js和jQuery仍然是新手):

`

`

编辑:我尝试使用node.js的原因是在不刷新的情况下更新我的网站。因此,如果有人在线/离线,不应强迫他/她刷新。

“当你唯一的工具是锤子时,每个问题都像钉子。”

在这种情况下,您试图使用错误的工具进行作业。jQuery是专门为在浏览器环境中使用而构建和优化的。虽然你可以通过一个阴影DOM强迫它工作。。。不要

如果您想使用jQuery的选择器和DOM操作特性,
cheerio
基本上实现了该API,但特别是针对Node.js/server-side

但是,听起来您好像想使用它的
ajax()
方法(或者它的助手之一,如
post()
get()

相反,您应该使用为Node构建的工具。
Node fetch
()是一个非常好的、易于使用的选项,专门为Node.js设计

以下是其文档中的一个简单示例:

fetch('https://github.com/')
.then(function(res) {
    return res.text();
}).then(function(body) {
    console.log(body);
});
首先使用所需的URL调用
fetch()
。它将返回带有
响应的
Promise
对象。从中,您可以提取
文本()
或任何其他内容,并从中解析它

如果您需要传递选项、调用不同的方法(如POST)等,您只需给它一个选项对象作为第一次调用的第二个参数(查看它们的文档)。

“当您仅有的工具是锤子时,每个问题看起来都像钉子。”

在这种情况下,您试图为作业使用错误的工具。jQuery是专门为在浏览器环境中使用而构建和优化的。虽然您可以通过使用阴影DOM强制它工作,但请不要这样做

如果您想使用jQuery的选择器和DOM操作特性,
cheerio
基本上实现了该API,但特别是针对Node.js/server-side

但是,听起来您好像想使用它的
ajax()
方法(或者它的助手之一,如
post()
get()

相反,您应该使用为Node构建的工具。
Node fetch
()是一个非常好的、易于使用的选项,专门为Node.js设计

以下是其文档中的一个简单示例:

fetch('https://github.com/')
.then(function(res) {
    return res.text();
}).then(function(body) {
    console.log(body);
});
首先使用所需的URL调用
fetch()
。它将返回带有
响应的
Promise
对象。从中,您可以提取
文本()
或任何其他内容,并从中解析它


如果您需要传递选项、调用不同的方法(如POST)等,您只需给它一个选项对象作为第一次调用的第二个参数(查看它们的文档)。

有一个基于
jsdom
npm
模块可供使用
它将为您提供一个窗口对象。 例如:

var express=require('express');
var窗口=需要(“窗口”);
global.window=新窗口();
global.document=window.document;
var$=require('jquery');
var-app=express();
函数游戏(){
$(“body”).append(`helloworld!`);
}
游戏();
app.get('/',函数(req,res){
res.send(document.getElementsByTagName('html')[0].innerHTML)
});

您可以使用基于
jsdom
npm
模块
它将为您提供一个窗口对象。 例如:

var express=require('express');
var窗口=需要(“窗口”);
global.window=新窗口();
global.document=window.document;
var$=require('jquery');
var-app=express();
函数游戏(){
$(“body”).append(`helloworld!`);
}
游戏();
app.get('/',函数(req,res){
res.send(document.getElementsByTagName('html')[0].innerHTML)
});

您安装了什么版本的JSDOM?请在回答时嵌入图像。外部链接不好,因为一旦外部资源消失,问题就变得不那么有价值了。因为我是新来的,所以对图像有限制。我将在稍后获得10声誉时更新该问题。JSDOM版本:“\u from”:"jsdom@latest,“\u id”:”jsdom@11.0.0“,“\u inCache”:true,“\u location”:“/jsdom”,“\u nodeVersion”:“7.5.0”",@Smil3您不需要图像来传达信息。将相关文本复制并粘贴到问题中。您安装了什么版本的JSDOM?请将图像与您的答案一起嵌入。外部链接不好,因为一旦外部资源消失,问题的价值就会降低。因为我是新来的,所以对imag有限制等我得到10 reputation.jsdom版本时,我会更新这个问题:“\u from”:”jsdom@latest,“\u id”:”jsdom@11.0.0,“\u inCache”:true,“\u location”:“/jsdom”,“\u nodeVersion”:“7.5.0”,@Smil3您不需要图像来传达信息。请将相关文本复制并粘贴到问题中。谢谢您的回答!感觉我已经完成了一半。我尝试了节点获取,但是我现在遇到的问题是关于发送“客户端id”。由于我没有发送客户端id,它给我HTTP 400错误:“请求可以包括客户端ID和OAuth令牌。没有任何一个的请求都会失败,并出现HTTP 400错误。”请参阅,这是如何使用fetch@Smil3看起来有两种方法可以发送它。最简单的方法就是将它添加到您的URL:
twitch.URL?client\u id=your\u id\u here
。另一种方法是