gpt4 book ai didi

javascript - TypeError : __jquery2. default.ajax is not a function 当我使用 $ 作为 jquery

转载 作者:行者123 更新时间:2023-11-30 11:45:33 26 4
gpt4 key购买 nike

我正在向我的 Express 服务器执行一个 GET 请求。当我这样做时,我的服务器应该对 Instagram API 执行 AJAX 请求。但是,我收到此错误:

TypeError: _jquery2.default.ajax is not a function
at /Users/bli1/Development/projects/bradford/server/server.js:53:7
at Layer.handle [as handle_request] (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/layer.js:95:5)
at /Users/bli1/Development/projects/bradford/node_modules/express/lib/router/index.js:277:22
at Function.process_params (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/index.js:330:12)
at next (/Users/bli1/Development/projects/bradford/node_modules/express/lib/router/index.js:271:10)
at goNext (/Users/bli1/Development/projects/bradford/node_modules/webpack-dev-middleware/middleware.js:194:41)
at processRequest (/Users/bli1/Development/projects/bradford/node_modules/webpack-dev-middleware/middleware.js:236:12)

这是我的服务器代码片段:

import $ from 'jquery';

app.get("/instagram", (req, res) => {
const instagramEndpoint = "https://api.instagram.com/v1/users/self/media/recent/?access_token=";
const limit = 16;
const user = "usertest";
const keys = require('./keys.json');
const accessToken = keys.instagram.accessToken;
console.log('Hit Instagram API');
$.ajax({
method: 'GET',
url: instagramEndpoint + accessToken[user],
dataType: 'json',
success: payload => {
console.log(payload);
return payload;
},
error: payload => {
console.log(payload);

}
});
});

最佳答案

我可以设法让 jquery 在我的快速 route 工作的唯一方法是使用 jsdom 来模拟 DOM 环境。

app.get('/silos', (request, response) => {
require('jsdom').env('', (err, window) => {
const $ = require('jquery')(window);
$.get('http://demo2632149.mockable.io/silos')
.then((successResponse) => {
response.send(successResponse);
});
});
});

否则,如果您只想进行 REST 调用,我强烈建议您使用 axios .

import axios from 'axios';

app.get('/silos', (request, response) => {
axios.get('http://demo2632149.mockable.io/silos')
.then((successResponse) => {
response.send(successResponse.data);
});
});

关于javascript - TypeError : __jquery2. default.ajax is not a function 当我使用 $ 作为 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41092662/

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