我如何从提取调用 EXpress NoseJs Javascript 中解析此结果

这是我的脚本代码,它在 index.html 文件中,我知道放在那里是错误的,但首先我会尝试让它工作,然后我会移动它。


readOperaciones();

        

async function readOperaciones(){

            try{

                const listaOr = document.getElementById('listaOrdenada');


                const result = await fetch("http://localhost:8080/operaciones", {method: "GET"})

                const operaciones = await JSON.parse(result)

                //operaciones.forEach(t=>{



                    for (var i = 0; i < operaciones.length; i++) {

                    var row = operaciones[i];

                    console.log(row.codeemp);

}


                    /*tt = JSON.stringify(t);

                    const li = document.createElement("li");

                    li.textContent = tt.text;*/


                    /*t.forEach(cell=>{

                        const li = document.createElement("li")

                        li.textContent = cell.text;

                        li.id = cell.id;

                    })*/



                //})

            }

            catch(e){

                console.log("Error al leer las operaciones descriptas")

            }

        }

这是与快递的连接


const {Client} = require('pg');

const express = require ("express")


const app = express();

app.use(express.json())




const client = new Client({

  user: "postgres",

  password: "1234",

  host: "localhost",

  port: 5432,

  database: "webaduana",

})



app.get("/", (req, res) => res.sendFile(`${__dirname}/index.html`))


app.get("/operaciones", async (req, res) => {

    const rows = await readAll();

    res.setHeader("content-type", "application/json")

    res.send(JSON.stringify(rows))

})



async function readAll(){

    try{

        const results = await client.query("select * from operaciones")

        return results.rows;

    }

    catch(e){

        console.log(e)

        return [];

    }

}

我不知道我是否需要提供更多信息,但我对所有这些代码的问题都在这里我已经尝试了很多方法,但我无法在 ol 元素中获得这些结果。它没有给我任何错误,它只是不在 HTML 页面中打印任何内容


慕容708150
浏览 113回答 3
3回答

MMTTMM

你可以使用 .json() 方法:const fetched = await fetch("/url", {&nbsp; method: 'GET',});const fetchedJson: object = await fetched.json();console.log(fetchedJson)

慕标5832272

有几种方法可以做到这一点。使用承诺获取响应对象本身包含一些方法,可以帮助您获得不同形式的响应,例如.json()、.text()和.status。点击此处了解详情。所以,如果你只是想将答案解析成一个 JSON 对象,你可以这样做function doSomethingOnParsedJson(res) {&nbsp; // Do something on the response here...}function readOperacions() {&nbsp; fetch("http://localhost:8080/operaciones", {&nbsp; &nbsp; method: "GET",&nbsp; })&nbsp; &nbsp; &nbsp;.then(res => res.json())&nbsp; &nbsp; &nbsp;.then(doSomethingOnParsedJson) // Pass in a function without parentheses&nbsp; &nbsp; &nbsp;.catch(console.error);}如果你定义一个单独的函数来执行你想对解析的响应做的工作并将函数(不带括号)传递给它会更干净,then但你也可以继续并直接给它一个函数,如:function readOperacions() {&nbsp; fetch("http://localhost:8080/operaciones", {&nbsp; &nbsp; method: "GET",&nbsp; })&nbsp; &nbsp; &nbsp;.then(res => res.json())&nbsp; &nbsp; &nbsp;.then(parsedResponse => {&nbsp; &nbsp; &nbsp; &nbsp;// do something...&nbsp; &nbsp; &nbsp;})&nbsp; &nbsp; &nbsp;.catch(console.error);}使用异步/等待您还可以使用异步/等待功能来实现这一点。function doSomethingOnParsedJson(res) {&nbsp; // Do something on the response here...}async function readOperacions() {&nbsp; try {&nbsp; &nbsp; // Get the response from the server.&nbsp; &nbsp; const res = await fetch("http://localhost:8080/operaciones", {&nbsp; &nbsp; &nbsp; method: "GET",&nbsp; &nbsp; });&nbsp;&nbsp;&nbsp; &nbsp; // Parse it into a JSON object.&nbsp; &nbsp; const parsedJson = res.json();&nbsp; &nbsp; // Do something on it.&nbsp; &nbsp; doSomethingOnParsedJson(parsedJson);&nbsp; } catch (error) {&nbsp; &nbsp; // Show an error if something unexpected happened.&nbsp; }}边注在 Express 中有一种更简洁的方法来发送 JSON 响应。您可以.json在 Express 响应对象上使用该方法。app.get("/operaciones", async (req, res) => {&nbsp; const rows = await readAll();&nbsp; /* Don't do this!&nbsp; res.setHeader("content-type", "application/json")&nbsp; res.send(JSON.stringify(rows))&nbsp; */&nbsp; /* Do this instead ;-) */&nbsp; res.json(rows);})瞧!就这么简单。

温温酱

将 .then 添加到获取链并打印结果:fetch('http://example.com/movies.json')&nbsp; .then(response => {&nbsp; &nbsp; console.log('response: ' + JSON.stringify(response));&nbsp; })&nbsp; ...&nbsp; ...https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript