PHP가 json 형식을 반환할 수 없는 문제에 대한 해결 방법: 1. 오류의 구체적인 원인을 확인하고 "var a=JSON.stringify(error);alert(a);"를 실행합니다. 2. PHP 코드를 수정합니다. "var b= eval("(" + data + ")");" 코드를 실행하면 충분합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP가 json 형식을 반환할 수 없으면 어떻게 해야 합니까?
php는 표준 JSON 형식을 반환할 수 없습니다. $.ajax에서 반환된 데이터는 성공 솔루션을 수행할 수 없습니다
JSON의 표준 형식: {"key":"value"," key ": "value" }
1. 다음과 같이 프런트 엔드에 코드를 제출합니다.
$.ajax({ type: "post", url: "index.php?m=Index&a=accessIn&act=access", async: true, data: { login_access: $('#login_access').val() }, dataType: "text", success: function (data) { if (data.codeId == "0") { alert(data.err); } else { alert(data.err); window.location.href = "index.php?m=Index&a=lockData"; } }, error:function(error){ var a=JSON.stringify(error); alert(a); }});
2. PHP 백그라운드 처리 후 반환 코드는
$res['err'] = "欢迎您"; $res['codeId'] = "1";
console.log(data)입니다. 다음과 같이 표시됩니다. {err: "Wrong Password received! ",codeId: "0"}, 코드 키에는 큰따옴표가 없으며 비표준 JSON 형식이므로 $.ajax에서 반환된 데이터가 실패하게 됩니다. .
셋째, 분석은 다음과 같습니다.
반환된 개체 형식이 [개체 개체]이므로, 원인을 빠르게 찾으려면 문자열 형식으로 변환해야 합니다.
var a=JSON.stringify(error); alert(a);
형식이 잘못된 경우 올바른 경우 반환되는 오류 코드는 기본적으로 ReadyState=4, status=200입니다.
첫 번째는 PHP 코드를 수정하고 표준 JSON 형식을 직접 반환하는 것입니다. 데이터 시각화 코드의 형식이 부족하기 때문에 이 예제에서는 문제를 해결하기 위해 프런트 엔드로 반환하는 방법을 사용합니다. : dataType: "text",
반환 후 형식은 다음과 같습니다: {"err": "Wrong 비밀번호가 입력되었습니다!", "codeId": "0"}, typeof()를 수행하면 문자열 형식임을 알 수 있습니다. , 문자열을 JSON으로 변환해야 하며 eval 함수가 사용됩니다.
eval() 함수는 문자열 표현식을 실행하고 표현식의 값을 반환하는 데 사용됩니다. - 초보자 튜토리얼에서 발췌 프런트엔드 제출 완료 및 반환 코드:var b= eval("(" + data + ")");//一定按照该格式才是标准的JSON格式
$.ajax({ type: "post", url: "index.php?m=Index&a=accessIn&act=access", async: true, data: { login_access: $('#login_access').val() }, dataType: "text", success: function (data) { var b= eval("(" + data + ")");//string 2 json if (b.codeId == "0") {//读取键值进行判断 alert(b.err); } else { alert(b.err); window.location.href = "index.php?m=Index&a=lockData";//跳转页面; } }, error:function(error){ var a=JSON.stringify(error);//解析对象为字符串,快速确定原因; alert(a); }});완료! 추천 학습: "
PHP 비디오 튜토리얼"
위 내용은 PHP가 json 형식을 반환할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!