Javascript AJAX不是&x27;t将json视为json

Javascript AJAX不是&x27;t将json视为json,javascript,json,ajax,Javascript,Json,Ajax,我的AJAX调用没有将来自服务器的数据视为JSON,即使我在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

我的AJAX调用没有将来自服务器的数据视为JSON,即使我在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]=“[”

应该是

var test = JSON.parse(data);
// or just 
var test = data;
因为如果您将其字符串化,那么您将使用括号表示法访问字符串中的字母

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

c
,是字符串中的第一个字母

您的代码中也有输入错误。
日期类型:
应该是
数据类型:

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

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

JSON.stringify(data);
获取
数据
并将其转换为JSON文本,存储在字符串中

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

这是正常的行为

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


只需直接使用
数据中的数据结构

您为
控制台.log(数据);
使用
JSON.stringify(数据);
尝试
控制台.log(数据);
return $.ajax({
  url: 'materiasphp/materias.php',
  dataType: 'json',
  ...