无法操纵$ .post中的数据

时间:2015-01-26 15:53:37

标签: javascript php jquery ajax json

我正在尝试使用Ajax查询的结果来设置输入的值。 问题是我得到一个空结果([Object object]) 这是我的过程:

首先:我实现了一个简单的查询并将结果编码为JSON:

file:getVar.php

    //getMyVar($id) runs a simple "select" query with a specified id
    // SELECT name FROM table where id = id
    $var= getMyVar($id);


    header('Content-type: application/json; charset=UTF-8');

    echo json_encode($var);

然后,我(尝试)提取数据并将其作为值插入到具有id“name”的输入中

注意:我确定输入的id。

file:printStuff.js

        request = $.post('getVar.php', {id:id}, 'json');

        request.done(function(data){        
        $('#name').val(data.name);
        });

当我使用firebug在浏览器中检查我的页面时,我可以看到我的第一页(getVar.php)返回格式正确的JSON结果。

{"id":"42","name":"test"}

所以,我认为当我尝试从$ .post

中提取数据时会发生错误

如果您需要任何其他信息,请不要犹豫:)

感谢阅读。

1 个答案:

答案 0 :(得分:1)

尝试这种方式调试data并使用json_encode()

从服务器端对数据进行编码
  //getVar.php
  $var= getMyVar($id);
  die(json_encode(array('status'=>'success','name'=>$var)))

  //javascript code
$.post("getVar.php",{id:id}, 'json').done(function( data ) 
  {
    console.log(data.status);
    console.log(data.name);
    if(data.status=='success'){
      $('#name').val(data.name);
    }
  });