В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin»

На пользовательской странице WordPress я нажимаю на мои ссылки, и я получаю эту ошибку
Также ссылки не открываются. Нажатие ничего не делает.

XMLHttpRequest не может загрузить mysite /. В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Происхождение «mysite» поэтому не разрешено.

Где mysite — это URL моего сайта.

Кто-нибудь знаком с этой проблемой?

Страница, на которой происходит ошибка: http://wouterleduc.com/publications/

И я использую этот код на моей странице шаблона:
`

<?php if (have_posts()) : the_post(); ?>

<h3 class="h3_serie_overzicht"><?php the_title(); ?><span id="<?php the_title();?>">&nbsp;&nbsp;&nbsp;</span><a href"#" class="serie_overzicht_info" id="<?php the_title(); ?>">Show text</a></h3>

<div class="serie_overzicht_info_pane"><?php echo the_content(); ?></div>

<div id="serie-overzicht-thumbs">
<?php $attachments = new Attachments( 'attachments' ); ?>
<?php if( $attachments->exist() ) : ?>
<div class="serie_overzicht_row">
<?php while( $attachments->get() ) : ?>
<div class="serie_foto">
<a target="_blank" href="<?php echo $attachments->field( 'link' ); ?>" title="<?php echo $attachments->field( 'title' ); ?>"><img src="<?php echo $attachments->src( 'medium' ); ?>"" title="<?php echo $attachments->field( 'title' ); ?>" alt="<?php echo $attachments->field( 'title' ); ?>" /><br /><span><?php echo $attachments->field( 'title' ); ?></span></a>
</div>
<?php endwhile; ?>
</div>
<?php endif; ?>

`

Я использую вложения от Джонатана Кристофера для отображения изображений. Я использую fancybox в своей теме, но это должно влиять только на ссылки с тегом rel.

0

Решение

Проблема в том, что вы пропустили заголовок запроса кросс-источника. Я проверил следующим образом

curl -I http://wouterleduc.com/publications/

HTTP/1.1 200 OK
Date: Mon, 29 Sep 2014 19:40:11 GMT
Server: Apache/2
X-Powered-By: PHP/5.4.32
X-Pingback: http://wouterleduc.com/xmlrpc.php
Link: <http://wouterleduc.com/?p=2358>; rel=shortlink
Vary: User-Agent
Content-Type: text/html; charset=UTF-8

Добавьте следующую строку в ваш php код

<?php
header("Access-Control-Allow-Origin: http://mysite");
?>

Вы можете использовать curl, чтобы проверить это. Если все хорошо, то ваш XmlHttpRequest должен работать. Есть некоторые последствия для безопасности. Я бы посмотрел на http://enable-cors.org узнать больше.

0

Другие решения

Других решений пока нет …