有一个名为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>
我刚遇到同样的问题,不得不破解解决方案。这绝不是最终或永久的解决方案,但确实有效。我将尝试联系任何维护此数据库的人,让他们知道它是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对象。丑陋的黑客。丑陋。
我不确定这是否是您正在寻找的,但是美国政府有一个免费的API来进行NPI查找,因此您可以从这里提取代码:https://npiregistry.cms.hhs.gov/它有一个指向API的链接,它显示了如何请求来自NPI db的信息。还有其他几个网站也这样做,所以你可以从他们那里得到代码....
应用程序编程接口(API)|只读API是可下载的NPPES数据文件的新的,更快的替代方案。它允许系统实时访问NPPES公共数据,而不是通过批量上传。 API每天从NPPES检索数据。
NPPES读取API交互式测试应用程序系统管理员可以使用交互式演示来试验生成查询。 API将在https://npiregistry.cms.hhs.gov/api/生成其输出。
有几个站点进行NPI查找。看看他们的代码。其他网站也这样做。复制成功的。
那些编程人员应该能够唱这首歌!