2017-08-12 55 views
2

我試圖使用讀取刪除請求方法使用我的本地服務器上刪除項目Redux的反應刪除請求方法提取採用了反應終極版沒有刪除

方法調用

deleteItem(e) { 
    e.preventDefault(); 
    const id = this.props.id; 
    this.props.deleteSet(id); 
    } 

調度動作

const mapDispatchToProps = dispatch => ({ 
    deleteSet: id => dispatch(deleteSet(id)), 
}); 

行動

export function deleteSetSuccess(id) { 
    return { 
    type: "DELETE_SET_SUCCESS", 
    id, 
    }; 
} 

export function deleteSet(data) { 
    return (dispatch) => { 
    fetch(`${apiUrl}orgs/1/sets/${data}`, { 
     method: "DELETE", 
     body: JSON.stringify(data), 
     headers: new Headers({ 
     "Content-Type": "application/json", 
     }), 
    }).then(response => response) 
     .then(id => dispatch(deleteSetSuccess(id))); 
    }; 
} 
從本地主機服務器0

減速器

export function deleteSetSuccess(state = '', action) { 
    switch (action.type) { 
    case "DELETE_SET_SUCCESS": 
     return action.id; 

    default: 
     return state; 
    } 
} 

響應

DELETE http://localhost:8080/distinction-2.0-alpha2/api/orgs/1/sets/8 400 (Bad Request) 

回答

0

valid HTTP DELETE request doesn’t have a request body -and所以不需要Content-Type請求頭非彼但在問題的請求的代碼被髮送一些數據作爲請求正文,以及Content-Type請求標頭。據推測,你的服務器正在判定這不是一個有效的DELETE請求,所以它正在響應一個400「錯誤請求」來表明這一點。

+0

它的工作表示感謝,但它並不立即刪除該項目,我必須在頁面消失之前刷新頁面。 –

+0

是的,它幫助了很多,再次感謝你 –

+0

而且我遇到了這個問題,我有一個組件列表,我想要的是當我點擊每個組件上的編輯按鈕時,它應該帶我到一個頁面有一堆輸入,其中輸入值是this.props等待我編輯和保存,我不知道如何開始。 –