美国专利商标局具有用于访问某些专利数据的公共API。我以前曾经通过AJAX访问其PAIR批量数据API,但是一段时间以来,抛出了一个安全错误,即证书无效。
他们使用https://ped.uspto.gov/api/queries将PAIR批量数据API替换为新的专利审查数据系统(PEDS)。我已经使用https://ped.uspto.gov/api/swagger-ui.html#!/queries/searchDataUsingPOST上的Swagger UI成功地测试了PEDS API的/ queries功能。
在Swagger UI页面上测试PEDS查询没有问题,但是当我尝试在我的网站上实现它时,我在Safari控制台中收到以下错误(当然在Chrome中也收到类似的错误):
[Error] Failed to load resource: Origin http://www.WEBSITE.com is not allowed by Access-Control-Allow-Origin.
[Error] XMLHttpRequest cannot load https://ped.uspto.gov/api/queries. Origin http://www.WEBSITE.com is not allowed by Access-Control-Allow-Origin.
这是我发送的请求:
$.ajax({
type: 'POST',
url: 'https://ped.uspto.gov/api/queries',
contentType: 'application/json',
dataType: 'text',
data: '{"df":"patentNumber","searchText":"' + no + '","facet":"false"}',
success: function(data) {
alert(“success");
}
})
您知道为什么我会收到此公共API的“ Access-Control-Allow-Origin不允许的错误”吗?
我曾经成功地对PAIR批量数据API使用类似的请求,但从未遇到过此问题。
答案 0 :(得分:0)
他们还没有打开访问控制标头。如果无法投诉或纠正它们,那么您将不得不在服务器上使用某些东西来从api中提取信息并将其提供给ajax。我通常将cURL与php一起使用,但是所有服务器端脚本语言都将具有类似的功能。