Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 使用fetch API过滤React中API响应中的字段_Javascript_Json_Reactjs_Api_Fetch - Fatal编程技术网

Javascript 使用fetch API过滤React中API响应中的字段

Javascript 使用fetch API过滤React中API响应中的字段,javascript,json,reactjs,api,fetch,Javascript,Json,Reactjs,Api,Fetch,我的API响应如下所示,我需要过滤掉它,这样我只能从中得到几个字段。e、 我只需要描述和地点 结果:[{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…},] 0:{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…} binControl:“Y” 描述:“BUFR-良好库存” 位置类型:“BUFR” 我们的:“Y” placeId:“BHLLC” 地点地点:“B

我的API响应如下所示,我需要过滤掉它,这样我只能从中得到几个字段。e、 我只需要描述和地点

结果:[{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…},]
0:{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…}
binControl:“Y”
描述:“BUFR-良好库存”
位置类型:“BUFR”
我们的:“Y”
placeId:“BHLLC”
地点地点:“BUFR”
转让用途:“Y”
可用:“F”

我需要在fetch.js文件中传递body中的字段,如下所示

export const fetchPlacesTo = async () => {

const criteria = [
    {
        anyOf: [
            {
                field: "WhosPlace",
                value: "L%",
                operator: "li"
            }
        ]
    }
];
const body = {
    criteria,
    fields: ["description", "placeLocation", "whosPlace"],
    skip: 0,
    take: 2000
};

const result = sessionManager
    .refreshFetch(
        `${**********_API_URI}/place/place`,
        fetchUtils.hwsGetRequest(body)
    )
    .then(parseResponse);

return result;
const body={
标准
字段:[“说明”、“地点位置”、“whosPlace”],
跳过:0,
拍摄时间:2000年
};

然后我试着画出这样的结果。请注意,places是对API调用函数的fetches调用的结果

let result = [];
    if (places) {
        result = places.results.map(p => ({
            placeId: p.description, name: p.placeLocation
        }));
    }
fetch文件中的fetch函数如下所示

export const fetchPlacesTo = async () => {

const criteria = [
    {
        anyOf: [
            {
                field: "WhosPlace",
                value: "L%",
                operator: "li"
            }
        ]
    }
];
const body = {
    criteria,
    fields: ["description", "placeLocation", "whosPlace"],
    skip: 0,
    take: 2000
};

const result = sessionManager
    .refreshFetch(
        `${**********_API_URI}/place/place`,
        fetchUtils.hwsGetRequest(body)
    )
    .then(parseResponse);

return result;
})

下面是调用这个函数的函数

export const getPlacesTo = () => async dispatch => {
try {
    dispatch(loading.incrementLoading());

    const places = await fetches.fetchPlacesTo().catch(error => {
        console.log(error); //CRS: Change to logger
        dispatch(loading.setWarning(errors.ERROR_GET_DATA));
    });

    let result = [];
    if (places) {
        result = places.results.map(p => ({
            placeId: p.description, name: p.placeLocation
        }));
    }

    dispatch({
        type: constants.GET_LOOKUP_ENTITY,
        payload: {
            name: "placeIdToRepair",
            value: result
        }
    });

我猜您希望placeId和placeLocation froom响应成为结果

var result=[]
var data={results: [{placeId: "BHLLC", placeLocation: "BUFR", locationType: "BUFR"},{placeId: "BHALC", placeLocation: "BAFR", locationType: "BAFR"},{placeId: "BHBLLC", placeLocation: "BUBFR", locationType: "BUBFR"}]}
data.results.map(p=>result.push({
            placeId: p.placeId, name: p.placeLocation
        }));
console.log(result)//(3) [{…}, {…}, {…}]
0:
placeId: "BHLLC"
name: "BUFR"
__proto__: Object
1:
placeId: "BHALC"
name: "BAFR"
__proto__: Object
2:
placeId: "BHBLLC"
name: "BUBFR"
__proto__: Object
length: 3

问题是什么?它不工作,我甚至没有得到响应。请提供所有的调用函数,只是这段代码没有太多意义请共享完整的JSON,你想要什么explixitly@EvandroCavalcateSantos编辑了这篇文章,增加了一些细节。请检查。感谢您的帮助,但当我在API结果上应用map时,代码正在中断,我没有得到任何结果。