我正在尝试从具有身份验证的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>
但是通过身份验证我没有收到回复。所有帮助表示赞赏
答案 0 :(得分:0)
您无法通过JavaScript使用远程资源http://test.etravelsmart.com/etsAPI/api/getStations
。有关信息,请参阅the other question和答案。
您对使用jQuery方法也有一些错误。
您正在传递一个AJAX配置对象,其中$.getJSON()
需要url
字符串。
相反,请使用$.ajax()
,您还可以利用username
和password
属性...
$.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)
})