元生态 2012-04-25 14:19
浏览 216
已采纳

json数据问题

var jsonstr="{ "Head":
[{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"}]}";
var json = eval("("+jsonstr+")");
以上是写在一个jsonstr.js文件中,然后在页面调用,是哪里有问题,列表显示不出来,麻烦大家帮我看看

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



jquerytable

$(function(){ $('#clickme').on('click',function(){ $.ajax({ type: "POST", url:"jsonstr.js", dataType:"json", success: success, error: error }); function success(json){ $.each(json,function(i){ var cont = ''; cont += "<tr class='itemtemplate'>"; cont += " <td editable='true'>"; cont += " "+json[i].name+" "; cont += " </td>"; cont += " <td editable='true'>"; cont += " "+json[i].sex+""; cont += " </td>"; cont += " </tr>"; }); $('#test').append(cont); } function error(){ $('#clickme').html('出现错误'); } }); });

clickme
姓名 性别


  • 写回答

3条回答 默认 最新

  • hzylyl2402 2012-04-28 12:03
    关注

    这段代码中存在4个错误:
    1、Ajax请求响应有问题。因为你请求的是一个文件,那么这么文件只能是一个影响文本。
    把响应jsonstr.js修改为:{ "Head":
    [{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"}]}
    2、Ajax请求是文本,那么dataType:'text'
    3、在success方法中,接收到文本再eval,由于数据是Head,所以我们使用到是结果中的Head,而不是直接使用响应结果。json= eval("("+json+")"); json = json.Head;
    4、var cont = '';应该定义在each外面,否则$('#test').append(cont);出错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题