PHP Cross-Origin-Request已被阻止

时间:2016-01-30 22:47:03

标签: php http header cors

我有一个PHP脚本,它接受来自请求的POST变量,对它执行某些操作(在这种情况下,它是对特定键的memcached请求)并通过JSON将其发回。

复杂的部分是我不会像执行请求的脚本那样在同一服务器上托管此脚本。所以我尝试使用CORS。我的浏览器告诉我,我没有设置Access-Control-Allow-Origin-Header,但我做了,你可以看到。所以我猜我错了。但我还没有真正处理PHP中的标题,所以我真的不知道该怎么做。我已经搜索过了(也是在Stackoverflow上)但我发现的只是我必须设置这个标题,我做了什么......

当然,memcache-part对于解决问题并不是很有意思,但我认为最好让你们看一下完整的代码,所以你走了:

<?php
header("Access-Control-Allow-Origin: * ");
$key = $_POST["key"];
$json = "";
if($key != "")
{

    define('MEMCACHED_HOST', '127.0.0.1');
    define('MEMCACHED_PORT', '11211');
    $memcache = new Memcache;
    $memcache->connect(MEMCACHED_HOST, MEMCACHED_PORT);

    $value = memcache->get($key);

    $json_array = array("status" => "done" , "key" => $key, "value" => $value);
    $json = json_encode($json_array);
}
else
{
    $json_array = array("status" => "empty");
    $json = json_encode($json_array);

}
echo $json;
?>

1 个答案:

答案 0 :(得分:0)

在Apache .conf文件中插入一些行就可以了。如果有人感兴趣,可以找到这些行here。我仍然不知道为什么它没有使用PHP中的标题。也许我对客户做错了。但它现在正在工作:)