제목이 다음으로 변경됨: 오류: "SyntaxError: """은(는) 올바른 JSON 형식이 아닙니다."
P粉716228245
2023-08-22 17:53:58
<p>다음 코드에 대해 질문이 있습니다. <em>console.log</em>의 출력은 다음과 같습니다. </p>
<p>JavaScript Ajax 요청을 통해 요청한 URL은 "login.php"였습니다. </p>
<pre class="brush:php;toolbar:false;"><?php include('init.php');
LoginLoginService를 사용하십시오.
#include(__DIR__.'/Login/LoginService.php');
글로벌 $pdo;
세션_시작();
$사용자 이름 = $_POST['사용자 이름'];
$pass = $_POST['비밀번호'];
if (!empty($username)) {
$test = 새로운 LoginService();
$user = $test->getUsersLogin($username);
if (!empty($user) && $user[0]['login'] == $username) {
$json = json_encode(array("성공" => 1));
에코 $json;
} 또 다른 {
$json = json_encode(array("성공" => 0));
에코 $json;
}
}
?></pre>
<p>내 JavaScript Ajax 요청: </p>
<pre class="brush:php;toolbar:false;">$(() => {
$('.login-form').on('제출', 함수 (e) {
e.preventDefault();
$.아약스({
유형: "POST",
데이터 유형: "json",
시간 초과: 500,
URL: '/src/login.php',
데이터: $(this).serialize(),
성공: (데이터) =>
노력하다 {
var jso = JSON.parse(data);
console.log(jso);
} 잡기 (e) {
console.log(e);
거짓을 반환;
}
},
오류: (데이터) =>
console.log(JSON.parse(데이터));
}
});
});
});</pre>
<p><code>{"success":1}</code>에 대한 PHP 응답이 잘못된 이유는 무엇입니까? 문제가 무엇입니까? </p>
<인용문>
<p>SyntaxError: "[object Object]"는 유효한 JSON이 아닙니다</p>
</blockquote><p><br /></p>
이 오류를 방지하려면 다음을 시도해 보세요.
으아아아라고 적으시면 문서
그래서dataType: "json"
,那么jQuery会在进入"success"函数之前自动将你的响应解析为JSON。这在jQuery的$.ajax
에 자세한 설명이 나와 있습니다.- 문자열이 필요합니다.
그럼 필요없습니다data
已经是一个对象。你不能将一个对象传递给JSON.parse()
으아악
직접 작성하셔도 됩니다으아악