Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JSON对象问题_Javascript_Json - Fatal编程技术网

Javascript 使用JSON对象问题

Javascript 使用JSON对象问题,javascript,json,Javascript,Json,我有一个脚本,它将搜索框的输入提交到a.php,并在jquery中返回一个JSON对象。现在如何更改div的内容。返回的JSON对象如下所示: {"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"} $('.second').text(data["0"]); 例如,我怎么能说“Aardapelen rauw”应该出现在第1部,第2部应该出现在第88部?我试过data.voedsel和data

我有一个脚本,它将搜索框的输入提交到a.php,并在jquery中返回一个JSON对象。现在如何更改div的内容。返回的JSON对象如下所示:

{"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"}
$('.second').text(data["0"]);
例如,我怎么能说“Aardapelen rauw”应该出现在第1部,第2部应该出现在第88部?我试过data.voedsel和data.carorien,但那不起作用

在标题中:

<script type="text/javascript">
function contentDisp()
{

$.ajax({
  type: 'POST',
  url: 'getFood.php',
  data: {'foodnametextbox' : $('#food').val() },
  datatype: "json",
  success: function(data){ 

    $('.second').replaceWith(data);

  }
});


}
</script>

函数contentDisp()
{
$.ajax({
键入:“POST”,
url:'getFood.php',
数据:{'foodnametextbox':$('#food').val(),
数据类型:“json”,
成功:函数(数据){
$('.second')。替换为(数据);
}
});
}
在正文中:

<div class="container">
  <div class="inner first">Hello</div>
  <div class="inner second">And</div>
  <div class="inner third">Goodbye</div>
</div>

你好
及
再见

您可以使用
.parseJSON()
您可以使用
.parseJSON()
replaceWith
获取HTML字符串、DOM元素或jQuery对象。JSON数据对象不是这两个对象。我猜你想要这样的东西:

{"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"}
$('.second').text(data["0"]);

编辑:不要使用eval。您的ajax选项是错误的。它需要是
数据类型:“json”
。注意大写的
T

replaceWith
采用HTML字符串、DOM元素或jQuery对象。JSON数据对象不是这两个对象。我猜你想要这样的东西:

{"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"}
$('.second').text(data["0"]);

编辑:不要使用eval。您的ajax选项是错误的。它需要是
数据类型:“json”
。注意大写的
T
数据类型:“json”应该自动调用
parseJSON
。然后您应该能够执行
data['0']
(或
data.voedsel
)以获得“Aardappelen rauw”


编辑:将
数据类型:“json”
更改为
数据类型:“json”
。“type”中的“t”必须是大写。

数据类型:“json”应自动调用
parseJSON
。然后您应该能够执行
data['0']
(或
data.voedsel
)以获得“Aardappelen rauw”


编辑:将
数据类型:“json”
更改为
数据类型:“json”
。“type”中的“t”需要大写。

否。将
datatype:'json'
更改为
datatype:'json'
。啊,是的,这是个错误,谢谢,现在确实不需要.parsoJSON()!否。将
数据类型:“json”
更改为
数据类型:“json”
。啊,是的,这是个错误,谢谢,现在确实不需要.parsoJSON()@不客气。有时很难发现这些愚蠢的小错误。oeps错误编辑:但现在另一个问题是:当我执行搜索并更新div时,它只执行一次。。如果我更改查询并再次按下按钮,DIV更改将不再有效,这是为什么?@Javaaaa:尝试将
$('.second').replaceWith()更改为
$('.second').html()
replaceWith
更改整个元素,
html
只更改元素中的数据。@Javaaaa:不客气。有时很难发现这些愚蠢的小错误。oeps错误编辑:但现在另一个问题是:当我执行搜索并更新div时,它只执行一次。。如果我更改查询并再次按下按钮,DIV更改将不再有效,这是为什么?@Javaaaa:尝试将
$('.second').replaceWith()更改为
$('.second').html()
replaceWith
更改整个元素,
html
只更改元素中的数据。确定问题已解决!但是现在还有一个问题:当我执行搜索并更新div时,它只执行一次。。如果我更改查询并再次按下按钮,DIV更改将不再起作用,这是为什么?OK问题解决了!但是现在还有一个问题:当我执行搜索并更新div时,它只执行一次。。如果我更改查询并再次按下按钮,DIV更改将不再起作用,这是为什么?