Ajax请求dataType json

时间:2017-12-28 21:34:30

标签: php jquery ajax

我在输入字段中显示值时遇到麻烦。我过去做过这个,我不知道我的代码出错了。

我有一个id =“input”的输入字段和一个id =“button”的按钮。这是我的jquery代码:

$("#button").click(function() {

      var uid = <?php echo $user['uid']; ?>;

      $.ajax({
          url: "php/fetchUserData.php",
          method: "POST",
          data: {
            uid: uid
          },
          dataType: "json",
          success: function(text) {    
            $("#input).val(text.bedrijfsnaam);
          }    
      });

});

这是php / fetchUserData.php文件的代码:

<?php 

include_once 'dbc.php';

if($_POST){

    $uid = $_POST['uid'];

    $sql = "SELECT * FROM users WHERE uid = '$uid'";
    $query = mysqli_query($dbc, $sql);
    $result = mysqli_fetch_assoc($query);

    echo json_encode($result);

}

?>

更新:

  • var_dump($ result)会显示关联数组。
  • console.log(text)没有结果。
  • 如果我将dataType更改为text并回显$ result ['bedrijfsnaam']而不是json_encode($ result),那么一切顺利。问题是我想加载的不只是bedrijfsnaam(=公司名称)。

更新2:

如果我使用相同的代码,但在数据库中使用另一个表,它确实有效。我真的不知道这里可能出现什么问题...... 我一直在搜索用户表的问题,我注意到基数为0,尽管表中有4行。在数据库的其他表中,基数值表示行数。这与这个问题有什么关系吗?

更新3:

而不是查询:

$sql = "SELECT * FROM users WHERE uid = '$uid'";

我试过了:

$sql = "SELECT bedrijfsnaam FROM users WHERE uid = '$uid'";

它有效!然后我开始添加列名,所有内容一直很顺利,直到某个列:land(意为country)varchar列,就像表中的许多其他列一样。

这个特定列导致错误发生的原因是什么?

我知道这成了一个phpmyadmin问题而不是php或jquery问题。问题应该转移到论坛的sql部分吗?

3 个答案:

答案 0 :(得分:0)

我对PHP一无所知,我认为这不重要。我认为你的大部分都是正确的。在ajax请求成功时,设置输入字段的文本值。

$.ajax({
    url:"php/fetchUserData.php",
    method: "POST",
    data:{uid:uid},
    dataType:"json",  
    success:function(text){
        $("id='button'").text(text.bedrijfsnaam);
    }
 });

答案 1 :(得分:0)

假设这是您的实际代码,您的问题可能源于实际上没有引用和更新字段。

这样的事情应该是你所需要的:

$("#input").val(text.bedrijfsnaam)

答案 2 :(得分:0)

&#13;
&#13;
$.ajax({
    url:"php/fetchUserData.php",
    method: "POST",
    data:{uid:uid},
    dataType:"json",  
    success:function(text){
        $('#input').val(text[0]);
    }

});
&#13;
&#13;
&#13;

hmtl可能比.val

更好

您对div的jquery选择错误:您在代码中遗漏了"

希望它能运作