使用AJAX将变量从JavaScript传递到PHP不会显示任何内容

时间:2016-09-11 07:30:18

标签: javascript php jquery html ajax

我正在尝试使用AJAX将PHP变量发送到JavaScript并实现到HTML,但结果没有显示任何内容。

我的HTML代码:

<div class="contain" id="konten_data"
     style="margin-top: 20px;"></div>

我的JavaScript代码:

function tampilDepan(id){
            $.ajax({
                type: 'POST',
                url: 'userAction.php',
                data: 'action_type=tdepan&id='+id,
                success:function(html){
                    $('#konten_data').html(html);
                }
            });
        } 

我的PHP代码(userAction.php):

($_POST['action_type'] == 'tdepan'){
$link = mysqli_connect("localhost", "root", "", "universitas");

$datas = mysqli_query($link, "SELECT * FROM mahasiswa where user='john' ");
        if(!empty($datas)){
            while ($datak = mysqli_fetch_assoc($datas)){
                echo  '<div class="row" style="margin-left: -90px;">
                <div class="col-xs-6 col-sm-6 col-md-4">
                <img class="img-thumbnail img-responsive"
                     src="images/test/'.$datak['gmb_batik'].'" alt=""></div>
                <div class="col-xs-12 col-md-8">
                <div class="content-box-large">
                <p>'.$datak['desc_batik'].'</p>
                </div>
                </div>                
            </div>
            <div class="row" style="margin-left: -90px; margin-top: 10px;">
                <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-3">
                    <div class="content-box-large">
                        <h1 >asal <strong>'.$datak['asal_batik'].'</strong></h1>
                    </div>
                </div>
                <div class="col-xs-16 col-sm-6 col-md-2 col-md-offset-1">
                    <img class="img-thumbnail img-responsive"
                      src="login/admin/files/qrcode/'.$datak['qr_batik'].'"
                      alt="">
                </div>
            </div>
            <div class="row" style="margin-left: -90px; margin-top: 10px;">
                <div class="col-xs-12 col-sm-6 col-md-9 col-md-offset-4">
                    <div class="content-box-large">
                    <p>'.$datak['pola_batik'].' </p>
                    </div>
                </div>
        </div>';
            }
        }else {``
            echo '<tr><td colspan="5">No user(s) found......</td></tr>';
        }`
}

我不知道出了什么问题,我希望有人可以帮助我。

4 个答案:

答案 0 :(得分:1)

尝试将javascript代码更改为

function foo1(arr) {
  next(arr, 0)
}

function doAsyncStuff(item, cb) {
  parser.parseURL(someurl, function(error, result) {
    item.someprop = result.someprop;
    cb(result);
  })
}

function next(arr, i) {
  // Stop when we reach the end of the array.
  if (i >= arr.length) {
    return;
  }

  if (i == 8) { // or any condition
    // Move to the next item only when the async work is done.
    doAsyncStuff(arr[i], function() {
      next(arr, i + 1)
    })
  } else {
    next(arr, i + 1)
  }
}

如您所见,数据作为对象而不是字符串传递。

另外,请注意,如果找不到用户,则会在function tampilDepan(id){ $.ajax({ type: 'POST', url: 'userAction.php', data: {action_type: "tdepan", id: id}, success:function(html){ $('#konten_data').html(html); } }); } 内放置<tr>

答案 1 :(得分:0)

尝试更改您的ajax调用。 function tampilDepan(id){ var postData ={"action_type":tdepan,"id":id}; $.ajax({ type: 'POST', url: 'userAction.php', data: postData , success:function(html){ $('#konten_data').html(html); } }); }

答案 2 :(得分:0)

尝试使用以下格式调用ajax:

size()

答案 3 :(得分:-1)

您尝试使用konten_data使用jQuery选择器$('#konten_data').val();来获取数据 ,但是我没有在PHP代码中看到它,因为你将数据推送到DOM上。尝试通过在成功回调之前添加元素或在DOM渲染上设置konten_data的值,你应该从那里做好。