jQuery AJAX 및 JSON 형식
다음과 같이 JSON을 수신할 것으로 예상되는 웹 서비스가 있습니다.
{"first_name":"test","last_name":"teste","email":"moi@someplace.com","mobile":"+44 22 2222 2222", "password":"testing"}
jQuery의 AJAX 호출:
$.ajax({
type: "POST",
url: hb_base_url + "consumer",
contentType: "application/json",
dataType: "json",
data: {
first_name: $("#namec").val(),
last_name: $("#surnamec").val(),
email: $("#emailc").val(),
mobile: $("#numberc").val(),
password: $("#passwordc").val()
},
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
데이터가 전송되는 형식을 확인할 수 있는 방법이 있습니까?서버에 올바른 JSON을 송신하고 있지 않다고 생각됩니다(이것은 검증의 첫 단계입니다).
jQuery 코드가 유효한 JSON을 전송하고 있습니까?아니면 뭔가 놓쳤습니까?
당신은 실제로 JSON을 보내는 것이 아닙니다.개체를 전달하고 있습니다.data
단, 오브젝트를 문자열화하고 대신 문자열을 전달해야 합니다.
당신의.dataType: "json"
는 반환된 JSON을 해석하는 것을 jQuery에게만 통지합니다.jQuery가 자동으로 요청 데이터를 문자열화하는 것은 아닙니다.
변경 내용:
$.ajax({
type: "POST",
url: hb_base_url + "consumer",
contentType: "application/json",
dataType: "json",
data: JSON.stringify({
first_name: $("#namec").val(),
last_name: $("#surnamec").val(),
email: $("#emailc").val(),
mobile: $("#numberc").val(),
password: $("#passwordc").val()
}),
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
난 그런 접근은 전혀 운이 없었어.저는 항상 이렇게 합니다(이것이 도움이 되기를 바랍니다).
var obj = {};
obj.first_name = $("#namec").val();
obj.last_name = $("#surnamec").val();
obj.email = $("#emailc").val();
obj.mobile = $("#numberc").val();
obj.password = $("#passwordc").val();
그리고 당신의 아약스:
$.ajax({
type: "POST",
url: hb_base_url + "consumer",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(obj),
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
현재 다음과 같은 일반적인 POST 값으로 데이터를 보내고 있습니다.
first_name=somename&last_name=somesurname
데이터를 json으로 전송하려면 데이터를 사용하여 개체를 만들고 문자열을 지정해야 합니다.
data: JSON.stringify(someobject)
$.ajax({
type: "POST",
url: hb_base_url + "consumer",
contentType: "application/json",
dataType: "json",
data: {
data__value = JSON.stringify(
{
first_name: $("#namec").val(),
last_name: $("#surnamec").val(),
email: $("#emailc").val(),
mobile: $("#numberc").val(),
password: $("#passwordc").val()
})
},
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
(RU) "- $_POST ['data_value']; "첫 번째 이름"
(EN) 서버에서는 데이터를 $_POST ['data_value']로 취득할 수 있습니다.예를 들어 서버에서 first_name 값을 가져오려면 다음과 같이 입력합니다.
$test = json_decode( $_POST['data__value'] );
echo $test->first_name;
문자열을 해석해야 합니다.JavaScript 개체에서 JSON 개체로 전송 중입니다.
var json = $.parseJSON(data);
언급URL : https://stackoverflow.com/questions/17426199/jquery-ajax-and-json-format
'source' 카테고리의 다른 글
ng 클릭 시 확인 대화 상자 - 각도JS (0) | 2023.03.27 |
---|---|
대규모 비즈니스 애플리케이션을 위한 대응 아키텍처 (0) | 2023.03.27 |
Spring websocket stomp 서버에서 클라이언트 세션 연결 해제 (0) | 2023.03.27 |
플러그인을 설치하기 위한 FTP 자격 증명을 요청하는 WordPress (0) | 2023.03.27 |
스프링 부트 - 비관리형 (0) | 2023.03.27 |