Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有身份验证的url的JSON响应获取方法_Javascript_Json_Api - Fatal编程技术网

Javascript 带有身份验证的url的JSON响应获取方法

Javascript 带有身份验证的url的JSON响应获取方法,javascript,json,api,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 " + e

我试图从具有身份验证的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>");
           });
    }
 });
$.getJSON({
“url”:”http://test.etravelsmart.com/etsAPI/api/getStations',
“beforeSend”:函数(xhr){
//可能需要使用“授权”来代替
setRequestHeader(“身份验证”、“基本”+encodeBase64(“******”+”:“+”****”)
},
成功:功能(结果){
警报(结果);
$.each(结果、函数(i、字段){
var StationId=field.StationId;
var StationName=field.StationName;
$(“#txtLabourId”).append(“+StationName+”);
});
}
});
我正在尝试在一个对话框中显示值

<select id="txtLabourId"></select>


但是有了身份验证,我没有得到响应。感谢所有帮助

远程资源
http://test.etravelsmart.com/etsAPI/api/getStations
不可通过JavaScript访问。有关信息,请参阅和答案


关于jQuery方法的使用,您也有一些错误

您正在传递一个AJAX配置对象,其中需要一个
url
字符串

相反,在您还可以利用
用户名
密码
属性的地方使用

$.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)
})

你检查过响应代码了吗?是的,它是有效的。
警报(结果)
的结果是什么?你在警报(结果)中得到了什么?事实上,它没有进入
函数(结果)
,所以我不能警报()不,先生,但我仍然无法检索到data@ShreyasBandimat控制台中的明显错误消息是…?XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401。这是我在控制台中遇到的错误。您有权访问服务器代码吗?解决此问题的最简单方法是在服务器端添加此标头
访问控制允许源代码: