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

        }

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

谢谢!

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 回答
0

问题出在 PHP 代码中。

我删除了检查 if(isset($_POST['valueToSend'])) 及其工作...

于 2013-04-16T20:25:02.073 回答