我似乎无法为动态内容加载生成内容

时间:2017-03-20 18:03:44

标签: ajax wordpress

我正在使用wordpress和php以及ajax在我们的主页上创建随机加载的客户评论

function loadContent() {
  $.ajax({
    type: "GET",
    url: 'http://skillsetsonline.ssosv.com/contentLoader.php',
    data: {
      company: 1
    },
    success: function(data) {
      alert(data);
      var currReview = document.getElementById('reviewRand');
      currReview.innerHTML = data;
    }
  });
}
setTimeout(loadContent, 10000); // milliseconds, so 10 seconds = 10000ms
<div id="reviewRand" class="elementToFadeInAndOut" style="font-color:#FFF;">Hi how are you</div>

我从一个已接受答案的stackoverflow帖子中粘贴了ajax命令,但可能没有完全正确,这不包括我使用的淡化CSS代码,但这是有效的我只需要更改内容。 目前“你好,你好吗”每10秒就消失一次。

是我用ajax命令尚未学到的一件事

数据:{公司:1}

我知道它只是简单地将&amp; company = 1传递给GET URL但在我的情况下我不需要发送任何东西,因为如果它被发送它不应该破坏任何东西我单独留下它不确定是否

数据:{}

会起作用并且更清洁 我已经确认使用的网址会得到随机审核 像这样格式化

I love this program.blah blah.<br>
A USER<br>
A location<br>
June 2016<br>

每一行都通过类标记

在CSS中格式化

非常感谢任何想法

1 个答案:

答案 0 :(得分:7)

由于您要向其发送AJAX请求的域位于不同的域/来源,因此您运行的域是CORS问题。默认情况下,客户端将不允许您使用来自与发出请求的站点不同的源上提供的AJAX请求中的数据来更新页面。您可以在此处阅读有关进行CORS更改的信息https://enable-cors.org/

解决这个问题的一个常见方法是通过JSONP提供响应。如果您有权更改该文件,则可以在http://skillsetsonline.ssosv.com/contentLoader.php的脚本中执行此操作。还有第三方网站会为您请求该URL并创建一个通过JSONP提供响应的代理,然后您可以在您的网站上使用它。

以下是在https://crossorigin.me

上使用JSONP代理的示例

function loadContent() {
  $.ajax({
    type: "GET",
    url: 'https://crossorigin.me/http://skillsetsonline.ssosv.com/contentLoader.php',
    success: function(data) {
      var currReview = document.getElementById('reviewRand');
      currReview.classList.add('ready');
      currReview.innerHTML = data;
    }
  });
}

setTimeout(loadContent, 0); /* changed this for the demo */
#reviewRand:not(.ready) {
    text-align: center;
}   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="reviewRand"><img src="http://thinkfuture.com/wp-content/uploads/2013/10/loading_spinner.gif"></div>