3

onclickイベントがあるボタンのあるhtmlフォームがあります

    <form id = "abc" action = "xyz.php" method = "post">
      <input type="button" name="submitButton" value="Submit" 
            id="submitButton" onclick = "Function()">
     </form>

JS コードでは、テキスト ボックスの値を投稿しようとしていて、json_encode を介して PHP から配列を取得しようとしています。

var valueToSend = $('#textbox').val();
var imagesReturned = new Array();
$.ajax({
        url: "xyz.php",
        type: "POST",
        data: valueToSend,
        dataType:"json",
        success: function(result) {        
            var data = jQuery.parseJSON(result);
            alert(data);
        }
    });

そして、これが私のPHPコードです。

        if(isset($_POST['valueToSend'])) 
        {
            $searchValues = explode(' ',$_POST['valueToSend']);
           // Some processing here
            echo (json_encode($responseArray));

        }

データを警告すると、null が返されます。何が欠けていますか?

ありがとう!

4

4 に答える 4

3

問題は Ajax リクエスト内にあります。dataキーは値だけでなく、キーと値のペアを必要とします。

探しているのは、次のようなものです。

var valueToSend = {
  'valueToSend': $('#textbox').val()
}

さらに、dataTypeキーをjsonに設定しているため、データ変数を parseJSON 経由で渡す必要はありません。そのため、success関数は次のように宣言するだけで済みます。

'success': function(result) {
  alert(result);
}
于 2013-04-16T17:50:28.257 に答える
1
var valueToSend = $('#textbox').val();
var imagesReturned = new Array();
$.ajax({
        url: "xyz.php",
        type: "POST",
        data: {"valueToSend":valueToSend},
        dataType:"json",
        success: function(result) {        
            var data = jQuery.parseJSON(result);
            alert(data);
        }
    });

dataajaxのフォーマットを修正

于 2013-04-16T17:50:31.217 に答える
1

あなたのデータフィールドは私には疑わしいように見えます

   $.ajax({
            url: "xyz.php",
            type: "POST",
            data:{valueToSend:valueToSend},
            dataType:"json",
            success: function(result) {        
                alert(result);
            }
        });
于 2013-04-16T17:50:52.463 に答える