dragon456101 2015-04-23 00:26
浏览 16
已采纳

AJAX和JS,无法读取JSON数据?

I have the following AJAX code:

var ajax = new XMLHttpRequest();
axaj.open("POST", "index.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

ajax.onreadystatechange = function(){
    if(x.readyState == 4 && x.status == 200){
        var returnVal = ajax.responseText;
    }
}

ajax.send("nextMax=-1");

And pairs with some PHP that ends with:

echo json_encode(array(
    'next_id' => $nextID
));

exit();

This all works, as it is. If I print out returnVal inside the AJAX call, it prints out the correct array, with the correct value:

{"next_id":"935210077606657948"}

But I cannot access the id directly. I've tried

var nextID = returnVal.next_id;

and

var nextID = returnVal['next_id'];

and other variations, but all return undefined.

How do I get the array elements from within returnVal?

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • doucong3048 2015-04-23 00:28
    关注

    Found a solution not 30 seconds after posting the question. But for those who are in the same place:

    Switch

    var returnVal = ajax.responseText;
    

    to

    var returnVal = JSON.parse(ajax.responseText);
    

    and then the call works:

    returnVal.next_id;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型