Javascript jQuery/Ajax Rest api请求
我正试图从localhost向realla发出rest api请求,我有一个api密钥,可以通过PHP发出请求,但在使用ajax时遇到问题:Javascript jQuery/Ajax Rest api请求,javascript,jquery,ajax,rest,Javascript,Jquery,Ajax,Rest,我正试图从localhost向realla发出rest api请求,我有一个api密钥,可以通过PHP发出请求,但在使用ajax时遇到问题: var URL = "https://realla.co/api/v1/listings/search"; var usr = 'api'; var psw = 'hidden'; $.ajax({ type: "POST", dataType: "json", contentType: "application/json", url: U
var URL = "https://realla.co/api/v1/listings/search";
var usr = 'api';
var psw = 'hidden';
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: URL,
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa(usr + ":" + psw))
},
success: function(result) {
console.log('success');
},
error: function(req, status, err) {
console.log('Something went wrong', status, err);
}
});
返回错误
XMLHttpRequest cannot load https://realla.co/api/v1/listings/search. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://dw.dev' is therefore not allowed access. The response had HTTP status code 403.
我试图用解决这个问题,但仍然得到相同的信息
我添加了以下功能(运行Wordpress):
我尝试过其他API(Facebook),这很有效,但我想知道我是否遗漏了一些东西
Realla的文档很薄,但我怀疑我是否做错了什么
谢谢让我们试试这个
它会起作用的
在请求的资源文件中添加头
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
?>
问题是realla方面的。API防止通过ajax发出请求 为了使用API,您需要从服务器而不是客户端浏览器发出请求
很抱歉浪费了人们的时间,希望这个答案能帮助那些感觉自己的头撞在砖墙上的人。在后端代码中添加“访问控制允许源代码”:*尝试了这个方法,但仍然得到相同的消息(为了清晰起见,我在原始问题中添加了代码)。
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
?>