AJAX와 JQuery를 이용하여 JSON 데이터로 PUT 통화를 구현하는 방법은?
여러 가지 방법을 찾아봤지만 실제 데이터를 컨트롤러 기능에 전달할 수 없는 것 같습니다.
코드는 다음과 같습니다.
var URL = "/Timesheet/Timesheet/UpdateEntry";
var dataObject = { 'newWeekEntry': newEntry, 'oldWeekEntry': oldEntry };
alert(JSON.stringify(dataObject));
$.ajax({
url: URL,
type: 'PUT',
data: JSON.stringify(dataObject),
dataType: 'json',
success: function(result) {
alert("success?");
}
});
newEntry
그리고.oldEntry
둘 다 개체입니다.
그alert
line은 다음을 출력합니다(단순히 설명하기 위해 일부 속성을 제거함).
{"newWeekEntry":{"MondayHours":2,"TuesdayHours":2,"WednesdayHours":5,"ThursdayHours":5,"FridayHours":"4","SaturdayHours":0,"SundayHours":0},"oldWeekEntry":{"MondayHours":2,"TuesdayHours":2,"WednesdayHours":5,"ThursdayHours":5,"FridayHours":2,"SaturdayHours":0,"SundayHours":0}}
컨트롤러 작업("UpdateEntry")을 디버깅하면 두 매개 변수가 다음으로 채워집니다.TimesheetEntry
클래스 기본 매개 변수(0).
이거 제대로 전달하는 건가요?
그dataType
속성은 서버에서 데이터를 가져올 때만 사용됩니다.설정을 해야 합니다.contentType
로.application/json
서버에 데이터를 전송할 때.
$.ajax({
url: window.serverUrl + 'student/event/' + eventId,
type: 'put',
data: JSON.stringify(data),
headers: {
'x-auth-token': localStorage.accessToken,
"Content-Type": "application/json"
},
dataType: 'json'
})
이거 나한테 통했어요.
머리글 사용:{"X-HTTP-Method-Override": "PUT"}
그리고 그것을 무시합니다.POST
리퀘스트 타입.내 프로젝트에 효과가 있어요
$.ajax({
type: 'POST', // Use POST with X-HTTP-Method-Override or a straight PUT if appropriate.
dataType: 'json', // Set datatype - affects Accept header
url: "http://example.com/people/1", // A valid URL
headers: {"X-HTTP-Method-Override": "PUT"}, // X-HTTP-Method-Override set to PUT.
data: '{"name": "Dave"}' // Some data e.g. Valid JSON as a string
});
언급URL : https://stackoverflow.com/questions/13056810/how-to-implement-a-put-call-with-json-data-using-ajax-and-jquery
'programing' 카테고리의 다른 글
Powershell을 사용하여 정규 분포식 결과의 하위 섹션 교체 (0) | 2023.10.06 |
---|---|
라라벨 - 상태(플래그)를 저장할 위치?모델, 클래스 또는 구성 폴더? (0) | 2023.10.06 |
Char에 저장된 유니코드 (0) | 2023.10.06 |
엔티티에 대한 이상한 LINQ 예외 (0) | 2023.10.06 |
jQuery $.ajax를 사용하여 서블릿에 요청 파라미터 배열을 보내는 방법? (0) | 2023.10.06 |