반응형
jQuery AJAX 응답 구문 분석 중
나는 jQuery AJAX를 통해 양식을 게시하기 위해 다음 기능을 사용합니다.
$('form#add_systemgoal .error').remove();
var formdata = $('form#add_systemgoal').serialize();
$.ajaxSetup({async: false});
$.ajax({
type: "POST",
url: '/admin/systemgoalssystemgoalupdate?format=html',
data: formdata,
success: function (data) {
console.log(data);
},
});
정상적으로 게시되지만 응답을 구문 분석할 수 없습니다. 콘솔에 다음과 같이 기록됩니다.
{
"success": 1,
"inserted": {
"goal_id": "67",
"goalsoptions_id": "0",
"user_id": "0",
"value": "dsfdsaf",
"created": "2013-06-05 09:57:38",
"modified": null,
"due": "2013-06-17 00:00:00",
"status": "active",
"actions_total": "0",
"actions_title": "sfdgsfdgdf",
"action_type": "input",
"points_per_action": "1",
"expires": "2013-06-11 00:00:00",
"success": 1
}
}
제가 찾고 있는 반응이라고 생각합니다.
하지만 내가 하려고 할 때alert(data.success);
또는 응답 객체의 다른 구성원 중 하나입니다.undefined
.
어떤 조언이든 감사합니다.
부르기
var parsed_data = JSON.parse(data);
원하는 대로 데이터에 액세스할 수 있어야 합니다.
console.log(parsed_data.success);
이제 '1'로 표시됩니다.
$.ajax({
type: "POST",
url: '/admin/systemgoalssystemgoalupdate?format=html',
data: formdata,
success: function (data) {
console.log(data);
},
dataType: "json"
});
이것이 당신의 Json 응답이라고 상상해 보세요.
{"Visit":{"VisitId":8,"Description":"visit8"}}
다음은 응답을 구문 분석하고 값에 액세스하는 방법입니다.
Ext.Ajax.request({
headers: {
'Content-Type': 'application/json'
},
url: 'api/fullvisit/getfullvisit/' + visitId,
method: 'GET',
dataType: 'json',
success: function (response, request) {
obj = JSON.parse(response.responseText);
alert(obj.Visit.VisitId);
}
});
VisitId 필드에 알림이 표시됩니다.
개체가 되려면 JSON 문자열을 구문 분석해야 합니다.
var dataObject = jQuery.parseJSON(data);
다음과 같이 부를 수 있습니다.
success: function (data) {
var dataObject = jQuery.parseJSON(data);
if (dataObject.success == 1) {
var insertedGoalId = dataObject.inserted.goal_id;
...
...
}
}
사용 중이므로$.ajax
그리고 아닌$.getJSON
반환 유형은 일반 텍스트입니다.이제 변환해야 합니다.data
JSON 개체로 이동합니다.
당신은 이것을 당신의 것을 변경함으로써 할 수 있습니다.$.ajax
로.$.getJSON
(의 줄임말)$.ajax
json만 가져오도록 사전 구성됨).
또는 구문 분석할 수 있습니다.data
수신 후 다음과 같이 JSON에 문자열을 입력합니다.
success: function (data) {
var obj = $.parseJSON(data);
console.log(obj);
},
사용하다parseJSON
그 문서를 보세요.
var obj = $.parseJSON(data);
이와 같은 것:
$.ajax({
type: "POST",
url: '/admin/systemgoalssystemgoalupdate?format=html',
data: formdata,
success: function (data) {
console.log($.parseJSON(data)); //will log Object
}
});
언급URL : https://stackoverflow.com/questions/16935711/parsing-jquery-ajax-response
반응형
'source' 카테고리의 다른 글
Panda에서 날짜/시간 형식을 변경하는 방법 (0) | 2023.07.25 |
---|---|
mysql: 두 날짜-시간 사이의 레코드 수 가져오기 (0) | 2023.07.25 |
PyCharm에서 Python 버전을 선택하는 방법은 무엇입니까? (0) | 2023.07.25 |
Angular2 - 외부에서 양식 확인 및 제출 (0) | 2023.07.25 |
Spring MVC 컨트롤러의 Security Context에서 UserDetails 개체 가져오기 (0) | 2023.07.25 |