首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JSON数据修改输入字段

用JSON数据修改输入字段
EN

Stack Overflow用户
提问于 2012-02-20 17:13:07
回答 2查看 162关注 0票数 0

我有以下代码:

代码语言:javascript
复制
$.post("docsel.php", {id : id}, function(data) {
   $('input#titre').val(data.titre);
   $('input#content').val(data.content);
});

docsel.php返回一个带有titrecontent及其值的JSON编码数组。我检查了返回的数据是正确的。

现在我想用结果来修改输入字段,但是我的代码不能工作。我做错了什么?

编辑

以下是数据(我使用了auteur而不满足于简化):

代码语言:javascript
复制
"[{"titre":"Dipt\u00e9rosodomanie et t\u00e9trapilotomie radiaire, pourquoi ?","auteur":"Alex"}]"

我对代码做了如下修改:

代码语言:javascript
复制
$.post("docsel.php", {id : id}, showResult(data));
                });
            });

function showResult(data)

{
  var obj = JSON.parse(data);

  var titre = obj.titre[0];

$('#titre').val(titre);

但它不起作用,我的意思是输入字段“效价”没有修改。请注意,我是JQuery / Php的绝对初学者。

EN

回答 2

Stack Overflow用户

发布于 2012-02-20 17:19:33

代码语言:javascript
复制
$.post("docsel.php", {id : id}, function(data) {
   $('input#titre').val(data.titre);
   $('input#content').val(data.content);
}, "json");

我相信您确实需要指定何时需要将返回的数据解析为JSON。您可以测试通过console.log(data)返回的数据,如果它输出一个字符串而不是一个对象,那么它还没有被解析。

票数 2
EN

Stack Overflow用户

发布于 2012-02-20 21:19:16

代码语言:javascript
复制
$.post("docsel.php", {id : id}, showResult(data));

这将运行showResult函数,然后使用其返回值(undefined)作为回调。

它应该是:

代码语言:javascript
复制
$.post("docsel.php", {id : id}, function(data){
  showResult(data)
});

或者,更好的是:

代码语言:javascript
复制
$.post("docsel.php", {id : id}, showResult);

您不需要自己使用JSON.parse。只需将'json'传递给$.post,它就会为您做到这一点。

代码语言:javascript
复制
$.post("docsel.php", {id : id}, showResult, 'json');

function showResult(data){
    var titre = data[0].titre; // Data is an array of objects
    $('#titre').val(titre);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9365343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档