2017-05-23 22 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); 
    $.post("counteSever.php", {currentCount2: currentCount}, 
     function(result){ 
     $("span").html(result); 
     }); 
     }); 

</script> 

二番目の

<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> 

およびサード1

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

と私のシンプルなPHPファイル値が送られているかどうかチェックします。

<?php 

$current = $_POST['currentCount2']; 

echo $current; 

?> 

は真剣に問題だかわからない、私はクライアント側で値をチェックするため問題ありませんが、私が未定義」を有する保つcosをPHPに値を送信していないようですインデックス:currentCount2 "エラー。 私はajax関数に何の問題もないのですか?ありがとう!

+1

すべてのあなたの試みはうまくいくようです。コンソールにチェックインしてエラーがないかどうか、リクエストのレスポンスコードが何であるかを確認しましたか? –

+0

また、ページが読み込まれたときにAJAXリクエストを作成するのはちょっと冗長に思えます - あなたはすでにページの状態を知っています...とにかく...?私はこれがちょうど学習の練習だと思いますか? –

+0

ドキュメントがロードされるとすぐに入力値が取得されます。あなたはこれをしてはいけません。入力は手動入力のためのもので、時間がかかります。したがって、入力がフォームであるフォームがユーザーによって送信されたときに値を取得します。 –

答えて

0

私はあなたの質問を理解したので、input fieldの値をPHPファイルに送り、それを戻して<span>タグに表示したいと思います。

ここでは、マイナーな変更が必要です。下の私の例を見てください。 。

AJAX SUCCESS関数の

、あなたは<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ファイルの下にajaxコードを入れてください。 document.ready()を使用しています。それは動作します:)

関連する問題