有一个名为NPI注册表查找的网站,它将显示您正在搜索的医生的相关信息。 我收到此错误XMLHttpRequest无法加载https://npiregistry.cms.hhs.gov/api/?number=1306935523。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:58202”访问。
<script type="text/javascript">
$(document).ready(function () {
$('#btnGetNpi').click(function () {
$.ajax({
async: true,
crossDomain: true,
url: 'https://npiregistry.cms.hhs.gov/api/?number=' + $('#txtnpi').val(),
method: 'get',
dataType: 'json',
success: function (data) {
debugger;
resultElement.html('FirstName:' + data.basic[0].first_name);
},
error: function (jqXHR, exception) {
alert(exception);
}
});
});
});
</script>
答案 0 :(得分:1)
我只是遇到了同样的问题,不得不破解一个解决方案。这绝不是最终或永久的解决方案,但它确实有效。我将尝试与维护该数据库的人员联系,并让他们知道该数据库已被CORS阻止,因此,作为一个无用的公共API,希望我们可以进行更改。
这就是我最终要做的事情: n.b.您可能没有php,但是我敢打赌其他一些语言也可能有类似的功能。
.js文件:
$.ajax({
type: 'post',
url: 'somefile.php',
data: 'npiNumber=xxxxxxxxxx',
success: function(response) {
var npiData = JSON.parse(response);
console.log(npiData);
}
});
.php文件
if(isset($_POST['npiNumber'])) {
echo file_get_contents('https://npiregistry.cms.hhs.gov/api/resultsDemo2/?number='.$_POST['npiNumber']);
}
仅此而已。 php file_get_contents从字面上转到页面并加载它,并返回该页面上任何内容。它不是服务器请求,而仅仅是“给我页面本身的结果”请求。然后,将其传递回javascript,并将其解析为JSON对象。丑陋的骇客。丑。
答案 1 :(得分:0)
我不确定这是否是您正在寻找的,但美国政府有一个免费的API来进行NPI查找,因此您可以从此处提取代码:https://npiregistry.cms.hhs.gov/ 它有一个API链接,显示如何从NPI db请求信息。还有其他几个网站也这样做,所以你可以从他们那里获取代码......
应用程序编程接口(API)|只读API是一个新的, 可下载的NPPES数据文件的更快替代品。它允许 系统实时访问NPPES公共数据,而不是通过 批量上传。 API每天从NPPES中检索数据。
NPPES Read API交互式测试应用系统管理员可以 使用交互式演示来试验生成查询。该 API将在https://npiregistry.cms.hhs.gov/api/生成其输出。
有几个站点进行NPI查找。看看他们的代码。其他网站也这样做。复制成功的。
那些编程人员应该能够唱歌!