javascript - 使用 Javascript 调用外部 API

标签 javascript api post

我需要使用 Javascript 从我的网页向外部服务器发出 POST 请求。正文和响应都是 json。我不知道如何调用电话或使用什么工具。我该如何调用这个电话?

这是我目前使用 jQuery 和 ajax 的结果:

var body = '{"method":"getViews","params":{"filter":{"operator":"and","clauses":[{"operator‌​":"matches","value":"'+ inputValue +'"}]},"order":[{"field":"name","ascending":true}],"page":{"startIndex":0,"maxIt‌​ems":5}}}';
var response = $.ajax({
           url: "http://" + environment + "/vizportal/api/web/v1/getViews",
           method: "post",
           dataType:'json',
           data: JSON.stringify(body),
           headers: {
            'Content-Type': 'text/plain',
            'X-XSRF-TOKEN' : XSRFToken,
            'Cookie': 'workgroup_session_id='+workgroupSessionId+';XSRF-TOKEN='+XSRFToken
           },
           success:function(response){
                alert("success");
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) { 
                alert("Status: " + textStatus); alert("Error: " + errorThrown); 
            } 
        });

它抛出的警报只是说“状态:”和“错误:”

控制台显示此“XMLHttpRequest 无法加载 http://[domain]/vizportal/api/web/v1/getViews。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此不允许访问来源“http://[domain]”。响应具有 HTTP 状态代码 405。”

最佳答案

您是通话目的地的所有者吗?如果是,请在服务器端实现 CORS header 。

如果不是,您可以使用 JSONP(它绕过 CORS)或者您甚至可以实现您拥有的服务器端代理来路由外部请求(当然,在那里实现 CORS)。

如果您想了解更多信息,请查看 MDN 中有关 CORS 的文章:HTTP access control (CORS) on MDN

关于javascript - 使用 Javascript 调用外部 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309824/

相关文章:

java - JAVA中的HTTP Post

javascript - 无法将 React 组件推送到另一个 React 组件中的数组

rest - 从 REST API 获取 Jira 问题的分支

api - Google Play 搜索 API 或合作伙伴供稿?

php - RESTful API错误的最佳实践

c# - MVC Api Action & System.Web.Http.AuthorizeAttribute - 如何获取发布参数?

javascript - 调整大小后的 jQuery 动画

javascript - 合并和聚合具有相同模式 mongodb 的两个或多个集合的某些字段

javascript - 将对象添加到 json 文件 - Node.js

PHP上传4张图片到文件和数据库MYSQL的路径