JSON响应通过身份验证获取url的方法

时间:2017-08-16 06:52:10

标签: javascript json api

我正在尝试从具有身份验证的URL获取JSON响应,代码如下所述

$.getJSON({
    'url': 'http://test.etravelsmart.com/etsAPI/api/getStations',
    'beforeSend': function(xhr) {
        //May need to use "Authorization" instead
        xhr.setRequestHeader("Authentication","Basic " + encodeBase64("*****" + ":" + "****"))
    },
    success: function(result) {
         alert(result);
        $.each(result, function(i, field) {
               var StationId = field.stationId;
               var StationName = field.stationName;
                $("#txtLabourId").append("<option>" + StationName + "</option>");
           });
    }
 });

我正在尝试在

中显示值
<select id="txtLabourId"></select>

但是通过身份验证我没有收到回复。所有帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

您无法通过JavaScript使用远程资源http://test.etravelsmart.com/etsAPI/api/getStations。有关信息,请参阅the other question和答案。

您对使用jQuery方法也有一些错误。

您正在传递一个AJAX配置对象,其中$.getJSON()需要url字符串。

相反,请使用$.ajax(),您还可以利用usernamepassword属性...

$.ajax({
  url: 'http://test.etravelsmart.com/etsAPI/api/getStations',
  dataType: 'json',
  username: '*****',
  password: '****'
}).done(function(result) {
  // etc
}).fail(function(jqXHR, textStatus, errorThrown) {
  console.error(textStatus, errorThrown)
})