javascript - 获取 jQuery UI 主题列表 - 来自 URL(同源策略)

标签 javascript jquery cross-domain same-origin-policy

有谁知道从 http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/ 获取 jQuery 主题列表的方法吗? ?

我正在创建带有主题滚轮的简单网页,用户可以在其中动态切换主题。

Working fiddle - 单击右上角的主题并选择一个新主题。

现在列表硬编码如下,

<div id="theme-list">    
   <ul>
      <li class="themes-el ui-state-highlight" data-theme="cupertino">cupertino</li>
      <li class="themes-el" data-theme="hot-sneaks">hot-sneaks</li>
      <li class="themes-el" data-theme="smoothness">smoothness</li>
      <li class="themes-el" data-theme="pepper-grinder">pepper-grinder</li>
      <li class="themes-el" data-theme="ui-lightness">ui-lightness</li>
      <li class="themes-el" data-theme="ui-darkness">ui-darkness</li>
      <!-- and more -->
   </ul>    
</div>

有没有办法从 URL http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/ 获取这个主题列表? ? (跨域:http://www.w3.org/TR/cors/#access-control-allow-origin-response-hea)

尝试过,但失败了,下面的代码..

$.ajax({
    url: 'http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/',
    dataType: 'text',
    beforeSend: function ( xhr ) {
        xhr.setRequestHeader("Access-Control-Allow-Origin", 'http://jquery-ui.googlecode.com');
        xhr.setRequestHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
    },
    crossDomain: true,
    success: function (data) {
        alert(data);
    }, 
    error: function (jqXHR, textStatus, errorThrown) {
        alert(errorThrown + ' ' + textStatus + ' ' + jqXHR.responseText);
    }
});

感觉我在这里遗漏了很多东西。任何见解都会很有帮助。

最佳答案

服务器好像不允许跨域请求。你无能为力。

您可以设置一个可以 curl 该页面的 PHP 脚本,然后您可以只使用 ajax PHP 脚本。就像 kuncajs 说的那样

您可以在您的服务器上使用这个简短的 PHP curl 脚本:

<?php

$ch = curl_init();
// URL to grab
curl_setopt($ch, CURLOPT_URL, 'http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

print_r($output);

?>

那么就是一个简单的ajax脚本:

$.ajax({
    url: "linktoscript.php",
    dataType: "html",
    success: function(data) {
        console.log(data);
    },
    error: function (request, status, error) {
        console.log(request);
        console.log(status);
        console.log(error);
    }
});

关于javascript - 获取 jQuery UI 主题列表 - 来自 URL(同源策略),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12611469/

相关文章:

javascript - 我们如何在 react-awesome-query-builder 中显示之前输入的搜索条件?

javascript - 根据所选产品从数据数组填充价格

javascript - 使用 JS 和 CSS 临时翻转网站

jquery - 如何使用 ajax 让 Twitter Bootstrap Collapse 在动态加载的 html 上工作

javascript - jQuery - 无法选择动态创建的元素

javascript - '.active' 元素为 ':even' 时元素的移位顺序(JQuery)

javascript - 使用 jQuery 直观地删除表格行

session - 您最喜欢的跨域 cookie 共享方法是什么?

javascript - 从父文档获取 iframe URL 位置

javascript - 如何在html脚本标签中加载跨域url