Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该如何格式化这个模拟JS数据,以便在get请求后使用它_Javascript_Ajax - Fatal编程技术网

Javascript 我应该如何格式化这个模拟JS数据,以便在get请求后使用它

Javascript 我应该如何格式化这个模拟JS数据,以便在get请求后使用它,javascript,ajax,Javascript,Ajax,我有一个收集ID的输入字段,应该使用该ID查找相应的条目。下面是我目前拥有的,底部是我想要的 我可以得到文件的内容,但我不能用它做任何事情 我目前拥有的: // mock-data.js { id: "239491", name: "Big Bird", real: false, type: "Animal" } 在我的Vue文件中,我正在使用axios进行GET调用 // search-file.Vue axios.get('static/mock-data.js') .

我有一个收集ID的输入字段,应该使用该ID查找相应的条目。下面是我目前拥有的,底部是我想要的

我可以得到文件的内容,但我不能用它做任何事情

我目前拥有的:

// mock-data.js
{
  id: "239491",
  name: "Big Bird",
  real: false,
  type: "Animal"
}
在我的Vue文件中,我正在使用
axios
进行
GET
调用

// search-file.Vue
axios.get('static/mock-data.js')
  .then((response) => {
    console.log(response.data)
  })
  .catch((error) => {
    console.error(error)
  })
由于控制台中没有突出显示语法,因此这会注销一个巨大的字符串

我想要的是:

{
  entries: [
    "239491": {
      id: "239491",
      name: "Big Bird",
      real: false,
      type: "Animal"
    },
    "983502": {
      id: "983502",
      name: "Frodo",
      real: false,
      type: "Hobbit"
    },
    ...
    ...
  ]
}
axios.get('static/mock-data/entries/' + userInput)
  .then((response) => {
    console.log(response.data)
  })
  .catch((error) => {
    console.error(error)
  })
理想情况下,我的Vue代码应该是:

{
  entries: [
    "239491": {
      id: "239491",
      name: "Big Bird",
      real: false,
      type: "Animal"
    },
    "983502": {
      id: "983502",
      name: "Frodo",
      real: false,
      type: "Hobbit"
    },
    ...
    ...
  ]
}
axios.get('static/mock-data/entries/' + userInput)
  .then((response) => {
    console.log(response.data)
  })
  .catch((error) => {
    console.error(error)
  })

我知道这不是正确的语法,但我找不到解决方案如果您试图创建用于测试目的的数据或不阻止前端开发,为什么不直接调用它?我会做的是f

函数mockDataService(){
var mockData={
参赛作品:[
"239491": {
id:“239491”,
名称:“大鸟”,
真:假,
类型:“动物”
},
"983502": {
id:“983502”,
姓名:“佛罗多”,
真:假,
类型:“霍比特人”
}
]
};
返回{
getMockDataById:函数(id){
//按id返回模拟数据
}
}
}
//你可以模仿axios或者只是创造一个虚假的承诺。
函数callMockData(用户输入){
返回{
然后:功能(成功、失败){
成功(mockDataService.getMockDataById(userInput))
}
}
}