2014-08-30 11:50

jquery ajax请求中的未定义索引错误

  • php
  • mysql
  • ajax
  • javascript
  • jquery

Please check my code in the following:

PHP & HTML Code(file1.php):

$conn = //connected to db successfully.
$sql = "SELECT t1.column1 AS Column_1 FROM table1 t1";
$rs = mysqli_query($conn,$sql);
$rows= mysqli_fetch_assoc($rs);
<button data-id="<?php echo $rows['Column_1']; ?>" type="button" onclick="handle_item('id')">Click Me</button> <br>
<?php }while($rows = mysqli_fetch_assoc($rs)); ?>

jQuery AJAX code(file1.php):

<script type="text/javascript">
    var item_id;
    function handle_item(item_id) {
        var c = $(this).data(item_id);
            url: 'handle_input.php',
            type: 'POST',
            data: {
                'button_id': c
            success: function (data) {

PHP Code(handle_input.php):

echo "Button with id ".$_POST['item_id]." clicked!";

Now the problems is (as you might expect) the infamous error in this case, "undefined index: button_id" error. I receive it as an alert error when I click on one of the buttons. I've already read the duplicate questions on SO but unfortunately none of those I read could resolve my problem. I appreciate your guiding me with this.

Besides, as you see from my codes, I'm fetching several button from database and while displaying, I assign each one a data-id and use that data-id in ajax to use in 'handle_input.php' and I want to receive each button id which I've clicked on. Thanks in advance.


It's been a while since I've asked this question but I've been curios about something in my question: Why doesn't the array mode(data: {"button_id":c}) work for me in the $.ajax function(which leads to undefined index error for the $_POST variable) whereas the string mode(data: "usg_id="+c) does?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享