这是我第一次使用axios而且遇到了错误。
axios.get(
`http://someurl.com/page1?param1=1¶m2=${param2_id}`
)
.then(function(response) {
alert();
})
.catch(function(error) {
console.log(error);
});
使用正确的URL和参数,当我检查网络请求时,我确实从我的服务器得到了正确的答案,但是当我打开控制台时,我发现它没有调用回调,而是发现了错误。
错误:网络错误 堆栈跟踪: createError @ http://localhost:3000/static/js/bundle.js:2188:15 的HandleError @ http://localhost:3000/static/js/bundle.js:1717:14
答案 0 :(得分:10)
<小时/> 您的Express应用程序需要使用CORS(跨源资源共享)。将以下内容添加到您的服务器文件中:
// This should already be declared in your API file
var app = express();
// ADD THIS
var cors = require('cors');
app.use(cors());
为了更全面地了解CORS,请阅读Mozilla Documentation on CORS。
答案 1 :(得分:1)
在数字海洋飞沫的生产上,我遇到了同样的问题。我在 ReactJS 中使用 axios 来调用 Node.js API。
尽管我包括了cors
const cors = require('cors');
app.use(cors());
但是我仍然必须添加
res.header( "Access-Control-Allow-Origin" );
在调出我的控制器之前。它为我工作。在那里,我意识到cors无法正常工作。因此,我再次卸载并安装了它们,并且可以正常工作!
完整的代码在这里。
所以您要么使用
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "x-access-token, Origin, X-Requested-With, Content-Type, Accept");
next();
});
或使用
app.use(cors());
相同。
答案 2 :(得分:0)
我的问题与我请求的网址有关。我没有在网址开头插入http://
。我的意思是我要的是类似92.920.920.920/api/Token
的URL,而不是http://92.920.920.920/api/Token
。添加http://
解决了我的问题。
答案 3 :(得分:0)
除了@jacobhobson答案,我还使用了一些参数来使其工作。
app.use(cors({origin: true, credentials: true}));
答案 4 :(得分:0)
确保cors({ origin : [ "http://localhost:3001"]})
和.env
文件中的端口号相同。
答案 5 :(得分:0)
当您在localhost上工作而忘记添加 http://
时,会发生这种情况用法错误
package com.example.svgadder;
import java.io.*;
import java.nio.*;
import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
import de.rototor.pdfbox.graphics2d.PdfBoxGraphics2D;
import java.awt.geom.AffineTransform;
import com.kitfox.svg.SVGDiagram;
import com.kitfox.svg.SVGException;
import com.kitfox.svg.SVGUniverse;
public class App
{
public static void main( String[] args ) throws Exception {
App app = new App();
}
public App() throws Exception {
// loading PDF and SVG files
File pdfFile = new File("input.pdf");
File svgFile = new File("input.svg");
PDDocument doc = PDDocument.load(pdfFile);
PDPage page = doc.getPage(0);
SVGUniverse svgUniverse = new SVGUniverse();
SVGDiagram diagram = svgUniverse.getDiagram(svgUniverse.loadSVG(f.toURL()));
PdfBoxGraphics2D graphics = new PdfBoxGraphics2D(doc, 500, 500);
try {
diagram.render(graphics);
} finally {
graphics.dispose();
}
PDFormXObject xform = graphics.getXFormObject();
try (PDPageContentStream contentWriter = new PDPageContentStream(doc, page, AppendMode.APPEND, false)) {
AffineTransform transform = AffineTransform.getTranslateInstance(0, 0);
xform.setMatrix(transform);
contentWriter.drawForm(xform);
}
doc.save("res.pdf");
doc.close();
}
}
正确的是
const headers = {
"Content-Type": "application/json",
Authorization: apiKey,
};
const url = "localhost:5000/api/expenses/get-expenses";
axios.get(url, { headers });
// NETWORK ERROR
答案 6 :(得分:0)
在我的情况下,发生在我的互联网连接不稳定时。确保您的互联网连接稳定。
答案 7 :(得分:0)
就我而言,我使用了“https”而不是“http”,也请检查一下。