PHP数组返回null

时间:2013-04-16 17:47:18

标签: php ajax json

我有一个带有按钮的html表单,其上有一个onclick事件

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

        }

当我提醒数据时,我得到空,我错过了什么?

谢谢!

4 个答案:

答案 0 :(得分:3)

问题出在您的Ajax请求中,data键需要一个键/值对,而不仅仅是一个值。

您正在寻找的内容类似于以下内容:

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

此外,您将dataType键设置为json,因此无需通过parseJSON传递数据变量。因此,success函数只需要声明如下:

'success': function(result) {
  alert(result);
}

答案 1 :(得分: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);
        }
    });

更正ajax中data的格式

答案 2 :(得分:1)

你的数据领域看起来很可疑

   $.ajax({
            url: "xyz.php",
            type: "POST",
            data:{valueToSend:valueToSend},
            dataType:"json",
            success: function(result) {        
                alert(result);
            }
        });

答案 3 :(得分:0)

问题出在PHP代码中。

我删除了支票,if(isset($ _ POST ['valueToSend']))及其工作......