请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

8-7 点赞400报错,network里有请求的参数 http.js里 data: params.data也写了 一直没找到原因

network
图片描述

看了其他同学的提问 一直没排查出来哪里出错了。
请求地址没错,network里有数据,http.js里data: params.data也定义了。
附代码:
http.js

import {config} from '../config.js'
const tips = {
  1: '抱歉,出现了一个错误',
  1005: 'appkey无效',
  1000: '输入参数错误',
  3000: '期刊不存在'
}
class HTTP {
  request(params) {
    if (!params.method) {
      params.method = "GET"
    }
    wx.request({
      url: config.api_base_url + params.url,
      method: params.method,
      data: params.data,
      header: {
        'content-type': 'application.json',
        'appkey': config.appkey
      },
      success: (res) => {
        let code = res.statusCode.toString()
        if (code.startsWith('2')) { //判断状态码已2开头
          params.success && params.success(res.data)
        } else {
          let error_code = res.data.error_code
          this._show_error(error_code)
        }
      },
      fail: (err) => {
        this._show_error(1)
      }
    })
  }

  _show_error(error_code) {
    if (!error_code) {
      error_code = 1
    }
    const tip = tips[error_code]
    wx.showToast({
      title: tips?tips:tips[1],
      icon: 'none',
      duration: 2000
    })
  }
}

export {
  HTTP
}

pages/classic/classic.js

// pages/classic/classic.js
import { ClassicModel} from '../../models/classic.js'
import { LikeModel} from '../../models/like.js'
let classicModel=new ClassicModel()
let likeModel = new LikeModel()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    classic:null
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //数据更新
    classicModel.getLatest((res)=>{
      this.setData({
        classic:res
      })
      console.log(this.data)
    })
  },
  
  onLike: function (event) {
    console.log(event)
    let behavior = event.detail.behavior
    likeModel.like(behavior, this.data.classic.id, this.data.classic.type)
  },


})

models/like.js

// models/like.js
import {HTTP} from '../util/http.js'

class LikeModel extends HTTP{
  like(behavior,artID,category){
    let url = behavior=='like'?'like':'like/cancel'
    this.request({
      url: url,
      method:'POST',
      data:{
        art_id:artID,
        type:category
      }
    })
  }
}

export { LikeModel}

正在回答

2回答

好的~~~~

0 回复 有任何疑惑可以回复我~
  • 提问者 慕仰9544335 #1
    敲代码时的手误错误 排查起来真是很费劲。谢谢老师
    回复 有任何疑惑可以回复我~ 2019-03-13 18:00:30
提问者 慕仰9544335 2019-03-13 17:51:20

刚刚找到原因了

已解决:

http.js里

'content-type': 'application.json',

应该是

'content-type': 'application/json',

2 回复 有任何疑惑可以回复我~
  • 相同问题 不过我的写成aaplication了 一个字母的问题  又没有提示 真的很难找到原因
    回复 有任何疑惑可以回复我~ 2020-06-12 15:18:10
  • 相同的问题,把application  写成了appliction  哭笑不得
    回复 有任何疑惑可以回复我~ 2020-08-04 15:07:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信