2017-05-23 1 views
0

코드 애호가!계속 Ajax를 사용하여 PHP에 값을 보내지 못했습니다.

나는 입력란의 값을 PHP로 보내고 PHP 파일의 값을 확인하고자한다. 페이지가로드 될 때 하지만 나는 여러 가지 방법으로 시도 할 때마다 계속 실패하고 있습니다.

기본적으로이 입력란의 값을 PHP로 보내려고합니다.

Current Counte : <input type="text" name="currentCount" id="currentCount" value="6"> 
<span> result </span> 

그리고 이것들은 지금까지 시도했지만 실제로 아무 것도 시도하지 않았습니다. 값이 전송되거나되지 않은 경우

<script> 
$(document).ready(function() { 
    var currentCount = $("#currentCount").val(); 
    console.log(currentCount); 
    $.ajax({ 
    url: 'counteSever.php', 
    type: 'POST', 
    data: {"currentCount2": currentCount}, 
    dataType: 'JSON', 
}) 
.done(function() { 
    console.log(currentCount + " Done"); 
}) 
.fail(function() { 
    console.log("error"); 
}) 
.always(function() { 
    console.log("complete"); 
}); 

}); 
</script> 

하나와

$.ajax({ 
    type: 'POST', 
    url: 'counteSever.php', 
    data : { "currentCount2" : currentCount}, 
    dataType: 'JSON', 
    success: function(response){ 
     $('span').text(name); 
     alert(response.data); 
    } 
}); 

셋째 하나 내 간단한 PHP 파일 번째

<script> 
$(document).ready(function() { 
    var currentCount = $("#currentCount").val(); 
    console.log(currentCount); 
    $.post("counteSever.php", {currentCount2: currentCount}, 
     function(result){ 
     $("span").html(result); 
     }); 
     }); 

</script> 

확인합니다.

<?php 

$current = $_POST['currentCount2']; 

echo $current; 

?> 

심각하게 문제가 무엇 모르는, 내가 클라이언트 측에서 값을 확인하는 문제가없는,하지만 내가 정의되지 않은 "가진 유지 왜냐하면 PHP로 값을 전송하지 않는 것 색인 : currentCount2 "오류가 발생했습니다. 아약스 기능에 문제가 없다면? 감사!

+1

모든 시도는 괜찮아 보입니다. 콘솔에 오류가 있는지 확인하고 요청의 응답 코드가 무엇인지 확인 했습니까? –

+0

또한, 페이지가로드 될 때 AJAX 요청을 만드는 것이 약간 중복 된 것처럼 보입니다 - 어쨌든 그 시점에서 페이지의 상태를 이미 알고 있습니까? 나는 이것이 단지 학습 운동이라고 가정한다. –

+0

문서를로드하자마자 입력 값을 얻습니다. 너는 그렇게해서는 안된다. 입력은 .... 수동 입력을위한 것으로, 시간이 걸립니다. 따라서 입력이 파트 인 양식이 사용자에 의해 제출 될 때 값을 얻으십시오. –

답변

0

나는 당신의 질문을 이해하기 때문에 input field의 값을 PHP 파일로 보내고 다시 수신하여 <span> 태그에 표시하고 싶습니다.

이렇게 약간의 변경이 필요합니다. 아래 예제를 참조하십시오. .

AJAX 성공 함수에서

, 당신은 <span> 태그 1) $('span').text(response); 2) $('span').append(response); 3) $ ('기간') HTML (응답)에 결과를 결합하는이 3 가지 방법을 사용할 수 있습니다; 이러한 예들을 사용하는 경우

당신은 그들 사이의 차이를 알 수

이 HTML 파일

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
</head> 
<body> 

    Current Counte : <input type="text" name="currentCount" id="currentCount" value="6"> 
    <br> 
    <span> result </span> 
<script> 
$(document).ready(function(){ 
    var currentCount = $("#currentCount").val(); 

    $.ajax({ 
     type: 'POST', 
     url: 'counteSever.php', 
     dataType:'json', 
     data : {currentCount2 : currentCount}, 
     success: function(response){ 
      console.log(response); 
      $('span').append(response); 
     } 
    }); 
}); 
</script> 
</body> 
</html> 

인이 여기에 PHP 파일 counteSever.php

<?php 
$current = $_POST['currentCount2']; 

echo $current; 

?> 

된다 결과 이미지 :

Output image

+0

도움 주셔서 감사합니다! 그것은 잘 클라이언트에서 작동합니다, 나는 PHP로 잘 값을 보내는 것을 확인할 수 있지만 왜 PHP에서 정의되지 않은 인덱스 오류가 계속 모르겠어요. –

+0

@James David Deann이 오류와 코드의 스크린 샷을 보낼 수 있습니다. –

-1

@james, html 파일의 아약스 코드를 넣으십시오. document.ready()를 사용하고 있습니다. 그것은 작동합니다 :)

관련 문제