На пользовательской странице 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();?>"> </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.
Проблема в том, что вы пропустили заголовок запроса кросс-источника. Я проверил следующим образом
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 узнать больше.
Других решений пока нет …