黄子涵

一个棘手的问题——自作聪明吃的大亏

问题

错误关键字段:

Uncaught SyntaxError: Unexpected token u in JSON at position 0

错误的截图:

image

错误的效果图:

image

答案

错误之前的代码:

function hzhXHR2ExpressReqWrap(hzhRespond) {
    return function(hzhOptions) {
        let hzhResult = null
        if (hzhRespond instanceof Function) {
            const { hzhBody, hzhType, hzhUrl } = hzhOptions
            hzhResult = hzhRespond({
                methods: hzhType,
                body: JSON.parse(hzhBody),
                query: hzhParam2Obj(hzhUrl)
            })
        } else {
            hzhResult = hzhRespond
        }
        return hzhMock.mock(hzhResult)
    }
}

修改回来的代码:

function hzhXHR2ExpressReqWrap(hzhRespond) {
    return function(hzhOptions) {
        let hzhResult = null
        if (hzhRespond instanceof Function) {
            const { body, type, url } = hzhOptions
            hzhResult = hzhRespond({
                methods: type,
                body: JSON.parse(body),
                query: hzhParam2Obj(url)
            })
        } else {
            hzhResult = hzhRespond
        }
        return hzhMock.mock(hzhResult)
    }
}

重点是这一段代码:

if (hzhRespond instanceof Function) {
            const { body, type, url } = hzhOptions
            hzhResult = hzhRespond({
                methods: type,
                body: JSON.parse(body),
                query: hzhParam2Obj(url)
            })

这里的三个变量body, type, url只是这样只写,应该是默认的写法。

最后模拟的数据都显示出来了:

image

posted @ 2022-07-07 20:50  黄子涵  阅读(23)  评论(0编辑  收藏  举报