Access-Control-Allow-Origin - 尝试从Wordpress安装访问JSON时出错

时间:2015-08-12 18:38:29

标签: javascript php wordpress cors

我尝试使用JavaScript中的“旧”Json-Api(AngularJS)访问我的博客

现在我收到以下错误:

  

XMLHttpRequest无法加载   http://example.com/?json=get_category_index。没有   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:63342”   访问。

看起来很简单。但即便在我尝试以下内容之后:

将这些行添加到.htaccess:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

将以下行添加到主题的header.php和json-api.php中:

<? header("Access-Control-Allow-Origin: *"); ?>

我仍然收到此错误。

3 个答案:

答案 0 :(得分:3)

您可以在AngularJS中使用JSONP

JSONP用于从不同域中的服务器请求数据。

记录here

答案 1 :(得分:2)

确定。解决了它。有点棘手:

我不得不改变&#34;&gt; <? xxx ?>&#34;到&#34; <?php xxx ?>&#34;

&#34; <?&#34; - 部分未呈现为服务器代码,但输出与普通html一样。

答案 2 :(得分:1)

您尝试访问的远程服务器(JSON)应该允许Access-Control-Allow-Origin,而不是您的Wordpress主机。

如果他们在同一台服务器上,那么您可能忘记设置相对URL,因此从localhost尝试时,您将无法访问您的Web主机。