不允许美国专利商标局API请求

时间:2018-09-12 14:44:04

标签: javascript ajax api post cors

美国专利商标局具有用于访问某些专利数据的公共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使用类似的请求,但从未遇到过此问题。

1 个答案:

答案 0 :(得分:0)

他们还没有打开访问控制标头。如果无法投诉或纠正它们,那么您将不得不在服务器上使用某些东西来从api中提取信息并将其提供给ajax。我通常将cURL与php一起使用,但是所有服务器端脚本语言都将具有类似的功能。