AJAX并没有将json视为json

时间:2017-06-26 05:05:44

标签: javascript json ajax

即使我在json中设置数据类型,我的AJAX调用也不会将服务器中的数据视为JSON:

function Getmateriasfromserver(callback){
    var status_aux;
//Requisição HTTP, por dados provindos do url dado. Caso os dados recebidos sejam os esperados, entra no caso do SUCCESS
return $.ajax({
    url: 'materiasphp/materias.php',
dateType: 'json',
    success: function(data)
    {
        status_aux = data;
        callback(status_aux);
    var test = JSON.stringify(data);
    console.log(data);
    console.log(test[1]);
    }

控制台打印测试[1] =" ["

3 个答案:

答案 0 :(得分:2)

您的代码中也有拼写错误。 dateType:应为dataType:

return $.ajax({
  url: 'materiasphp/materias.php',
  dataType: 'json',
  ...

答案 1 :(得分:1)

GET /maps/api/place/autocomplete/json?input=Kowloon&key=...&types=(cities)&components=country:hk

应该是

var test = JSON.stringify(data);

因为如果你对其进行字符串化,那么你将使用括号表示法访问字符串中的字母。

var test = JSON.parse(data);
// or just 
var test = data;

var test="cat": console.log(test[0]); 字符串

中的第一个字母

答案 2 :(得分:1)

JSON是一种基于文本的数据格式。

JSON.stringify(data);接受data并将其转换为JSON文本,并将其存储在字符串中。

console.log(test[1]);然后读取该字符串中索引1处的字符并显示它。

这是正常行为。

如果您想将数据作为JavaScript数据结构处理,那么不要将其转换为JSON !。

直接使用data中的数据结构。