간단한 페이지 표시 통계를 만들고 싶습니다. 루키에는 프런트 엔드가 하나 있지만 백 엔드는 없습니다. 작은 케이스를 작성해서 github에 올려봤는데 실망스러웠습니다. 저는 각계각층의 전문가들에게 질문을 하러 왔습니다. 헛소리는 그만하고 코드를 살펴보겠습니다.
아약스:
<code>$.ajax({ url: 'php/index.php', type: 'get', dataType: 'json', data: {}, }) .done(function(dat) { console.log("2"); $(".header").html(dat.vp); }) .fail(function() { console.log("error"); }) .always(function() { console.log("complete"); });</code>
json:
<code>{ "vp":"0" }</code>
php:
<code> <?php $json_string1 = file_get_contents('../json/index.json'); $data = array(); $data = json_decode($json_string1, true); $data['vp'] = intval($data['vp']) + 1; $json_string2 = json_encode($data); file_put_contents('../json/index.json', $json_string2); echo $json_string2; ?></code>
페이지에 들어가 요청을 할 때마다 PHP는 json 레코드를 읽고 씁니다(데이터베이스는 그렇지 않음). 그러나 Ajax 요청은 매번 실패합니다. 그런데 PHP 요청 상태 코드가 200입니다.
전체 파일을 어떻게 내보내나요?
간단한 페이지 표시 통계를 만들고 싶습니다. 루키는 앞쪽 끝에 하나가 있지만 뒤쪽 끝에는 없습니다. 작은 케이스를 작성해서 github에 올려봤는데 실망스러웠습니다. 저는 각계각층의 전문가들에게 질문을 하러 왔습니다. 헛소리는 그만하고 코드를 살펴보겠습니다.
아약스:
<code>$.ajax({ url: 'php/index.php', type: 'get', dataType: 'json', data: {}, }) .done(function(dat) { console.log("2"); $(".header").html(dat.vp); }) .fail(function() { console.log("error"); }) .always(function() { console.log("complete"); });</code>
json:
<code>{ "vp":"0" }</code>
php:
<code> <?php $json_string1 = file_get_contents('../json/index.json'); $data = array(); $data = json_decode($json_string1, true); $data['vp'] = intval($data['vp']) + 1; $json_string2 = json_encode($data); file_put_contents('../json/index.json', $json_string2); echo $json_string2; ?></code>
페이지에 들어가 요청할 때마다 PHP는 json 레코드를 읽고 씁니다(데이터베이스는 그렇지 않음). 그러나 Ajax 요청은 매번 실패합니다. 그런데 PHP 요청 상태 코드가 200입니다.
전체 파일을 어떻게 내보내나요?
index.php 요청을 클릭하여 응답 내용과 요구 사항 충족 여부를 확인하세요
php 언어 인터프리터 실행.
Wamp를 설치하고 다시 테스트해보세요.
하하, 반환된 json 데이터는 분명히 객체이지만 이에 액세스하려면 배열을 사용해야 합니다.
$data['vp'] = intval($data['vp']) + 1; $data-> ;vp = $data->vp + 1;
내 대답은 절대적으로 정확합니다. 제 말을 믿을 수 없다면 한 번 시도해 보세요
php 파일을 파싱하지 않는 웹서버 설정 문제일 것입니다.
github에는 서버 환경이 없습니다