VueResource Vue.http.get 响应状态码 0

Posted

技术标签:

【中文标题】VueResource Vue.http.get 响应状态码 0【英文标题】:VueResource Vue.http.get Response Status Code 0 【发布时间】:2017-06-26 09:49:08 【问题描述】:

我遇到了这个问题,我向 API 发送请求以检索所有用户,登录函数在调用时被调用(index.vue),它试图转到 api/users/all,在这种情况下应该返回所有该集合中的用户。

使用 Postman,API 返回正确的结果,如果我在发送响应之前 console.log 在 routeUsers 中的输出,它将所有正确的数据输出到控制台

返回index.vue时,响应状态码为0。

我在网上查看了一些关于 CORS 标头的内容,但我认为这不适用于我,并且有关响应的其他内容已被取消,

任何人都可以为我解释一下并帮助我尝试解决它吗?!

API main.js

var app = express();
var users = require('./routes/routeUsers');


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


module.exports = app;

api/models/users.js

var db = require('../Utilities/db')


module.exports.all = function(cb) 
  var collection = db.get().collection('users')
  collection.find().toArray(function(err, docs) 
    cb(err, docs)
  )

api/routes/routeUsers.js

var express = require('express')
  , router = express.Router()

var user = require('../models/users');


router.get('/all', function(req, res) 
  user.all(function(err, users) 
    res.send(users);
  )
)

索引.vue

export default 
data: function () 
    return 
        username: '',
        password: '',
        users: []
     
,   
methods: 
  login: function() 
  Vue.http.get('/api/users/all').then((response) => 
       console.log("SUCCESS",response);   
       this.users = response.body;
       console.log(users);
    , function (error) 
        console.log("Error", error.status);        // handle error
      );
    
  
;

【问题讨论】:

【参考方案1】:

问题在于输入位于表单标签中。删除了 Form 标签并且工作正常。

【讨论】:

以上是关于VueResource Vue.http.get 响应状态码 0的主要内容,如果未能解决你的问题,请参考以下文章

Vue http.get vue-resource

Laravel 项目中的 Vue.use(VueResource) 字符串在哪里?

javascript VueResource拦截器用于来自外部api的未经授权的响应

002 vue-resource

vue学习之vue-resource的引入

vue resource 携带cookie请求 vue cookie 跨域