我对发生的事情有些困惑。我正在尝试从FCC端点检索json文件,并从笔记本电脑上的本地文件测试它时,我得到一个连接通知,我成功(200),服务器响应中的json数据,但我无法访问json数据。一切正常,直到输出“ Callsign W4VEC data:”。这是我来自javascript文件的代码:
var url = "https://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=";
var post = "&format=json";
var testCallsign = "W4VEC";
$(function() {
//when search button is clicked, get json response on #call data
$("#getCallsign").click(function(event) {
event.preventDefault();
//empty output div and populate it with new data
$("#output").empty();
$("#output").append($("<p>").text("Callsign "+testCallsign+" data: "));
var settings = {
"async": true,
"crossDomain": true,
"url": url+testCallsign+post,
"method": "GET"
}
$.ajax(settings).done(function (response) {
var content = response.Licenses.License[0].licName;
$("#output").append(content);
});
});
})
尽管连接代码为200,控制台仍报告:“跨域请求被阻止:同一起源策略不允许读取https://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=W4VEC&format=json处的远程资源。(原因:CORS标头'Access-Control-Allow-Origin'缺少)。
当我检查网络响应时,这是返回的json:“ {” status“:” OK“,” Licenses“:{” page“:” 1“,” rowPerPage“:” 100“, “ totalRows”:“ 1”,“ lastUpdate”:“ 2019年12月27日”,“许可证”:[{“ licName”:“美国自愿者考试俱乐部”,“ frn”:“ 0005103353”,“呼号”:“ W4VEC”,“ categoryDesc”:“个人使用”,“ serviceDesc”:“虚拟”,“ statusDesc”:“有效”,“ expiredDate”:“ 02/12/2027”,“ licenseID”:“ 801266”,“ licDetailURL” “:” http://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?__newWindow=false&licKey=801266“}}}”
为什么我不能访问此信息?我认为如果收到响应,上面的代码应该显示它:
var content = response.Licenses.License[0].licName;
$("#output").append(content);
感谢您的帮助!