我有这个运行良好的脚本,并显示正确的结果(Hello JohnG):
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://procfu.com/exe/hello_world.pf");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Basic MjI4M***********************"] );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, HTTP_BUILD_QUERY(["name" => "JohnG"]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close ($ch);
print_r ($result);
?>
我需要用ajax做同样的事情:
$.ajax({
url: "https://procfu.com/exe/hello_world.pf",
type: "POST",
headers: { "Authorization": "Basic MjI4M******************************" },
//beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Basic MjI4M******************************');},
data: {"name" : "John" },
success: function (data) {
console.log(data);
},
error:function(data){
console.log(data);
}
});
对于这个ajax调用,我得到状态401(未授权)和控制台日志中的此错误:
跨源请求已阻止:同源策略禁止在https://procfu.com/exe/hello_world.pf读取远程资源 . (原因:缺少CORS Headers 'Access-Control-Allow-Origin') . 跨源请求已阻止:同源策略不允许在https://procfu.com/exe/hello_world.pf处读取远程资源 . (原因:CORS请求未成功) .