2016-08-01 44 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等 對不起,因爲它是沒有從客戶端發送到服務器的數據的請求,它可能會被刪除。 –