2017-08-09 287 views
0

我想与爱可信的表来获取JSON格式的服务器端数据,但不能uderstand如何让每一个领域像idcompanyInfo如何使用axios从json获取数据?

JSON:

[ 
    { 
    "id": 1, 
    "companyInfo": 1, 
    "receiptNum": 1, 
    "receiptSeries": "АА", 
    "customerName": "Mark", 
    "customerSurname": "Smith", 
    "customerMiddleName": "Jk", 
    "customerPhone": "0845121", 
    "services": [ 
     2, 
     16 
    ] 
    } 
] 

爱可信:

store.dispatch((dispatch) => { 
dispatch({type: Actions.FETCH_DATA_START}) 
axios.get("http://localhost:3004/paymentReceipts") 
    .then((response) => { 
    dispatch({ type: Actions.RECEIVE_DATA, payload: response }) 
    }).catch((err) => { 
    dispatch({type: Actions.FETCH_DATA_ERROR, payload: err}) 
    }) 

减速机:

export const initialState = { 
    paymentReceipts: [] 
}; 

export default handleActions<FetchData>({ 
    [Actions.FETCH_DATA_START]: (state, action) => { 
    return ; 
    }, 
    [Actions.FETCH_DATA_ERROR]: (state, action) => { 
    return; 
    }, 
    [Actions.RECEIVE_DATA]: (state, action) => { 
     console.log("DONE WITH STATE"); 
    return {...state, 
     paymentReceipts : action.payload 
    } 
    } 
}, initialState) 

应用

@connect(mapStateToProps, mapDispatchToProps) 
export class App extends React.Component<App.Props, App.State> { 

    constructor() { 
    super(); 
    } 

    render() { 
    console.log("CONTAINER IS "); 
    console.log(this.props.receiveData); 

    return (
     <div className={style.normal}> 

     </div> 
    ); 
    } 
} 

function mapStateToProps(state: RootState) { 
    return { 
    receiveData: state.receiveData 
    }; 
} 

function mapDispatchToProps(dispatch) { 
    return { 

    }; 
} 

this is what i get from console.log

那么如何从JSON这个值?

回答

0

您会将所有数据存入response.data

axios.get("http://localhost:3004/paymentReceipts") 
    .then((response) => { 
    dispatch({ type: Actions.RECEIVE_DATA, payload: response.data }) //Change 
    }).catch((err) => { 
    dispatch({type: Actions.FETCH_DATA_ERROR, payload: err}) 
    }) 
+0

谢谢,其固定的情况,但我仍然不知道如何获得配对元素 像'id = 1,receiptSeries =АА'等 – EnzyWeiss

+0

只是试图打印'console.log(response.data)' –

+0

请upvote也... –

0

要访问您的JSON响应中的单一属性,你可以简单地做:

response.data.<attribute> 

如:

axios.get("http://localhost:3004/paymentReceipts") 
    .then((response) => { 
    dispatch({ type: Actions.RECEIVE_DATA, payload: response.data, id: response.data.id }) //Change 
    }).catch((err) => { 
    dispatch({type: Actions.FETCH_DATA_ERROR, payload: err}) 
    }) 

根据您的JSON的结构和它是如何格式化(例如对象数组),你必须遍历它。