为了账号安全,请及时绑定邮箱和手机立即绑定

老师,想问您一个关于请求数据的问题,非常感谢

var vm = new Vue({

     el: "#app",

     data: { },

     mounted: function() {

         this.$nextTick(function () {

             this.queryData();

         });

     },

     methods: {

         queryData: function(){

             this.$http.get("data/cart.json").then(function(response){

                 console.log(response.body)

                 console.log(response.body.result)

             });

         }

     }

});


        这段代码,按理说应该可以console出本地的json数据对象,也让别人帮忙试过,他们用webstrom或者hbuilder可以打开并得到想要的数据。

        但是我用hfs虚拟服务器得不到数据,在我这里第一个console只能console出一个Blob:Blob {size: 958, type: "application/octet-stream"},第二个是undefined。

        不放在服务器上的话,在本地直接打开,在firefox浏览器下打开 第一个console出的是:File { name: "", lastModified: 1478405974000, lastModifiedDate: Date 2016-11-06T04:19:34.000Z, webkitRelativePath: "", size: 958, type: "application/xml" }。

实在找不到原因了,麻烦老师帮忙看下,是不是我需要安装什么或者设置什么才行 谢谢啦,                                                      



正在回答

2 回答

var apiServer = express()    

var bodyParser = require('body-parser')    

apiServer.use(bodyParser.urlencoded({ extended: true }))    

apiServer.use(bodyParser.json())    

var apiRouter = express.Router()    

var fs = require('fs')    

apiRouter.route('/:apiName')    

.all(function (req, res) {    

fs.readFile('./db.json', 'utf8', function (err, data) {    

if (err) throw err    

var data = JSON.parse(data)    

if (data[req.params.apiName]) {    

res.json(data[req.params.apiName])    

}    

else {    

res.send('no such api name')    

}    

})    

})    

apiServer.


use('/api', apiRouter);    

apiServer.listen(port + 1, function (err) {    

if (err) {    

console.log(err)    

return    

}    

console.log('Listening at http://localhost:' + (port + 1) + '\n')    

})    


0 回复 有任何疑惑可以回复我~
#1

May_imooc 提问者

非常感谢!非常感谢老师
2017-03-30 回复 有任何疑惑可以回复我~

http get是接口方法名,不能是json文件,第一次我感觉是你的server搭的有问题,返回的貌似是node文件流的一段,里面对象只有两个选项当然没有result,数据不完整。
第二次你应该是打开了这个json文件了。

你用node的 express搭一个测试数据服务器,具体你可以搜一下mock data server搭建,express加一个中间件就可以读到json,然后再返回里要json parse这样的处理,具体的代码我明天电脑上可以站给你

0 回复 有任何疑惑可以回复我~
#1

fishenal

你是大开json文件,是把json文件的内容拿出来,模拟一个restful应用,才能用ajax啊
2017-03-28 回复 有任何疑惑可以回复我~
#2

May_imooc 提问者

好的 谢谢老师。
2017-03-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
vue.js入门基础
  • 参与学习       209716    人
  • 解答问题       677    个

本门为vuejs入门教程,详细的讲解加实战,可以帮你进入vuejs的大门

进入课程

老师,想问您一个关于请求数据的问题,非常感谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信