complete() 콜백 함수에 전달 된 데이터 객체가 json 객체가 아닌 [Object 목적]. data.responseText에서 json 응답 문자열을 볼 수 있습니다. 여기json url에 대한 jQuery.ajax()가 json 객체 대신 문자열을 반환합니다.
내 jQuery를 아약스 요청입니다 :
$.ajax({
url: 'api.php',
dataType: 'json',
data: {
command: "GetBlacklist"
},
type: 'POST',
error: function(jqXHR, textStatus, errorThrown)
{
messageDiv.append("Error: " + errorThrown + "<br />");
},
complete: function(json)
{
$('.blacklist textarea').text(json.message);
messageDiv.append("Blacklist loaded.");
}
});
그리고 여기에 전송되는 반응이다 :
{"message":"success","result":0}
그것은 유효한 JSON으로 평가하고, 나는 올바른 JSON 컨텐츠를 보낸다 형식 헤더를 서버에서 가져옵니다. 이 하나에 난처한!
JSON은 JavaScript Object Notation ... JSON 개체는 문자열이 평가되면 자바 스크립트 개체입니다. – Clive
오른쪽 ... 'dataType'을 지정하면 응답을 자동으로 평가해야합니다. 맞습니까? 그렇지 않으면 dataType을 지정하는 지점이 전혀 표시되지 않습니다. 나는 내가 받고있는 data.responseText를 평가할 수 있다고 생각했지만 데이터 객체는 서버 응답을 나타내는 json 객체 여야한다는 인상하에있었습니다. –
서버에서 Ajax 호출에 대한 응답으로 무엇을 얻고 있는지 확인하려면 double serialize –