반응형
Vue.js / Vuex + axios가 여러 PUT 요청을 전송함
SPA의 사용자는 그룹을 추가/업데이트 및 삭제할 수 있습니다.
저는 Vuex 스토어와 API 도우미 모듈을 설정했습니다.EditGroup 구성 요소에서 사용자가 "변경 사항 저장"을 누르면 메서드가 실행됩니다.
문제는 axios가 5~20개의 PUT 요청을 전송하지만 메서드는 한 번만 실행된다는 것입니다.GET, POST 또는 DELETE 요청 공리는 하나의 요청을 보냅니다.
내 EditGroup 구성 요소:
saveSelected : function () {
this.$store.dispatch(ACTION_PUT_GROUP, {
data : this.selected
});
},
내 Vuex 스토어에서:
[actionTypes.ACTION_PUT_GROUP]({ commit }, payload) {
api.methods.group.put(payload.data, commit, mutationTypes.EMPTY_MUTATION);
},
내 API 도우미 모듈에서:
function _sendRequest(url, method, data, commit, commitHandler) {
axios({
method: method,
data: data,
url: url,
responseType: "application/json"
}).then(function (response) {
commit(commitHandler, response.data);
}).catch(function (error) {
_handle();
});
}
// ...
export default {
methods : {
group : {
// ...
put: function (data, commit, commitHandler) {
_sendRequest("api/group/" + data.Id, "put", data, commit, commitHandler);
},
// ...
}
}
}
업데이트 1 (15.10.2018)
.NET Core Controller의 코드입니다.
[HttpPut("{id}")]
public IActionResult PutGroup(string id, [FromBody] Group group)
{
if (id != group.Id)
return BadRequest();
// Validation ...
context.CreateOrUpdateItem(group);
// ...
return RedirectToAction(nameof(GetGroup), "Group", new { id = id });
}
문제: Axios는 Put 요청 후 리디렉션되는 것을 좋아하지 않습니다 :)
솔루션(온도):리디렉션 안 함...
솔루션:Github에 있는 Axios의 이슈 추적기에 이슈를 만들겠습니다.>>> https://github.com/axios/axios/issues/1829
언급URL : https://stackoverflow.com/questions/52609326/vue-js-vuex-axios-sends-multiple-put-request
반응형
'programing' 카테고리의 다른 글
PHP에서 MySQL 데이터베이스 찾기/바꾸기 스크립트 작성 (0) | 2023.07.02 |
---|---|
SqlServer: 사용자 로그인 실패 (0) | 2023.07.02 |
0으로 한 자리 숫자 채우기 (0) | 2023.07.02 |
null 참조에 대해 런타임 바인딩을 수행할 수 없지만 null 참조는 아닙니다. (0) | 2023.07.02 |
asp.net 에서 global.asax의 목적은 무엇입니까? (0) | 2023.07.02 |