在 JQuery 上处理 API http return 错误

Handling API http return errors on JQuery

我有这个 html 页面:

$(document).ready(function() {

  $.ajax({
    url: "https://api.github.com/users/Microsoft/",
    type: 'GET',
    dataType: 'json',
    success: function(res) {
      $('#result').text(JSON.stringify(res, null, '\n'));
    }.error: function(jqXHR, error, errorThrown) {
      if (jqXHR.status && jqXHR.status == 400) {
        alert(jqXHR.responseText);
      } else {
        alert("Something went wrong");
      }
    }
  });

})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="container">
  <pre id="result" style="color:red"></pre>
</div>

如果拿走这个:

.error: function(jqXHR,error, errorThrown) {  
           if(jqXHR.status&&jqXHR.status==400){
               alert(jqXHR.responseText); 
           }else{
               alert("Something went wrong");
           }

结果显示正确,现在没有显示任何内容。只是一个空白页。

我想要的是处理一些在 API 响应不成功时可能发生的 http 错误。

有什么想法吗?

您定义 error 方法的位置有错别字:

$(document).ready(function() {

  $.ajax({
    url: "https://api.github.com/users/Microsoft/",
    type: 'GET',
    dataType: 'json',
    success: function(res) {
      $('#result').text(JSON.stringify(res, null, '\n'));
    },
    error: function(jqXHR, error, errorThrown) {
      if (jqXHR.status && jqXHR.status == 400) {
        alert(jqXHR.responseText);
      } else {
        alert("Something went wrong");
      }
    }
  });

})