2016-08-01 43 views
0

当我尝试将示例json代码放入文件时,我调用了具有一些示例JSON代码的外部JS文件,它在“:”引发错误,但是当我验证使用在线工具,它说作为有效的JSON。这段代码出了什么问题?使用Ajax从外部文件调用JSON数据

这里是我的代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 


    <script> 
$(document).ready(function() { 

    $('#click').click(function() { 
     $.ajax({ 
      url: "json.js", 
      method: "GET", 
      dataType: 'application/json', 
      contentType: "application/json", 
      success: function(result){ 
        console.log(result); 
      }, 
      error:function() { 
       alert("Error")     
      } 
     }); 
    }); 
}); 
</script> 

我的外部json.js

{ 
"data": [{  ------> throwing error at ":" as Syntax error on token ":", ; expected 
    "Service": "INSTACC", 

    "Create Date": "30-Jul-2016" 


}, { 
    "Service": "INSTACC", 

    "Create Date": "30-Jul-2016" 


}] 

} 
+0

你知道一个json文件的扩展名是.json吗? – madalinivascu

+0

哈哈,你甚至可以引用页面上的js文件,为什么要在页面上引用文件时使用ajax? – madalinivascu

+0

请参阅此URL http://stackoverflow.com/questions/6699091/json-file-extension它会建议你 – mean

回答

0

更改文件类型到JSON和数据类型为 “JSON”

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
$(document).ready(function() { 

    $('#click').click(function() { 
     $.ajax({ 
      url: "json.json", 
      method: "GET", 
      dataType: 'json', 
      success: function(result){ 
        console.log(result); 
      }, 
      error:function() { 
       alert("Error")     
      } 
     }); 
    }); 
}); 
</script> 
+0

对不起,我误以为.js..Still它进入错误回调。 – Syed

+0

xhr请求体是怎么样的? – madalinivascu

+0

我不需要任何请求机构..我只需要调用该外部json文件,并在成功回调 – Syed

0

“应用/ JSON “不是dataType属性的有效值。将其更改为dataType:'json',

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>MyDemo</title> 
</head> 
<body> 
<button id="click">Click Me</button> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
    $(document).ready(function() { 

     $('#click').click(function() { 
      $.ajax({ 
       url: "json.js", 
       method: "GET", 
       dataType: 'json', 
       contentType: "application/json", 
       success: function(result){ 
        console.log(result); 
       }, 
       error:function(req, status, err) { 
        console.log(req); 
        console.log(status); 
        console.log(err); 
       } 
      }); 
     }); 
    }); 
</script> 
</body> 
</html> 
+0

谢谢阿伦。它已经完成了。 – Syed

+0

@Arun Kumar为什么他需要一个contentType? – madalinivascu

+0

@madalin ivascu contentType是您要发送的数据类型。 dataType是您期待从服务器返回的内容:json,html,text等 对不起,因为它是没有从客户端发送到服务器的数据的请求,它可能会被删除。 –