postman不要返回html页面,接口测试问题,node写的后端接口,启动项目,浏览器能看到返回的字符串,postman测试返回一个错误的html代码?...

在使用Postman测试本地Node.js后端接口时,出现返回错误HTML的情况,而通过浏览器访问则正常显示字符串。问题可能在于接口配置或者代理设置。前端Vue应用通过proxyTable配置将/api请求代理到localhost:3000,而在Postman中没有进行相同处理。检查接口代码及Postman的请求设置以找出问题所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习前后端数据请求的时候,先用前端请求了网上免费接口,没问题数据拿到了。

测试本地后端接口,localhost:3000/users (这个是express项目生成时自带的router)

1、user.js

var express = require('express');

var router = express.Router();

/* GET users listing. */

router.get('/', function(req, res, next) {

res.send('12344');

});

module.exports = router;

2、app.js(截取的,就是express项目生成时的代码)

var usersRouter = require('./routes/users');

app.use('/users', usersRouter);

3、用npm start启动项目,浏览器访问localhost:3000/users可以显示send的字符串

bVbFwuP

4、用postman测试localhost:3000/user接口,会返回一个显示错误信息的html结构

bVbFwyV

bVbFwvz

问:为什么两个测试方法结果不一样?

前端代码(只修改main.js和HelloWorld.vue)

index.js里添加

proxyTable: {

'/api': {

target:'http://localhost:3000/',

changeOrigin:true,

pathRewrite:{

'^/api': ''

}

}

},

main.js

import Vue from 'vue'

import App from './App'

import axios from 'axios'

Vue.prototype.axios = axios

Vue.config.productionTip = false

new Vue({

el: '#app',

components: { App },

template: ''

})

app.vue(原封不动)

HelloWorld.vue

{{ msg }}

export default {

name: 'HelloWorld',

data () {

return {

msg: 'Welcome to Your Vue.js App'

}

},

mounted(){

//请求的接口

this.axios.get("/api/users").then((res)=>{

console.log(res);

})

}

}

h1, h2 {

font-weight: normal;

}

ul {

list-style-type: none;

padding: 0;

}

li {

display: inline-block;

margin: 0 10px;

}

a {

color: #42b983;

}

访问localhost:8080,能拿到send的字符串了

bVbFwKj

控制台显示

bVbFwKp

但是再它返回的信息中有个

bVbFwKO

responseURL是响应的地址吧?不应该是localhost:3000响应的么?

api不是自动替换成localhost:3000么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值