我正在尝试使用直接链接从box.com获取CSS文件的内容并将其附加到head标记,但它不起作用。
$.ajax({
url: "https://app.box.com/shared/static/" + file_hash + ".css",
data: { client_id : '6guib1cgnk8uk2kdre45rjg7lt2xayegl94' },
type: "GET",
async: false,
crossDomain: true,
dataType: "text",
success: function (data) {
$("<style></style>").appendTo("head").html(data);
},
error: function (error) {
console.log(error);
}
}
);
Cuold任何人解释如何让它发挥作用?
返回错误对象:
Object
abort: function ( statusText ) {
always: function () {
complete: function () {
done: function () {
error: function () {
fail: function () {
getAllResponseHeaders: function () {
getResponseHeader: function ( key ) {
overrideMimeType: function ( type ) {
pipe: function ( /* fnDone, fnFail, fnProgress */ ) {
progress: function () {
promise: function ( obj ) {
readyState: 0
responseText: undefined
setRequestHeader: function ( name, value ) {
state: function () {
status: 0
statusCode: function ( map ) {
statusText: "error"
success: function () {
then: function ( /* fnDone, fnFail, fnProgress */ )
答案 0 :(得分:2)
这是我执行代码时收到的错误:
XMLHttpRequest无法加载https://app.box.com/shared/static/2mbz6a9olevi86oi43kk.css。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; https://example.com&#39;因此不允许访问。
问题在于您正在制作跨域(CORS)请求,但JavaScript is limited to requesting resources on the same domain除非目标应用程序明确允许它。
Box默认情况下不允许CORS请求,但they will enable them on per-application basis。您需要联系Box支持,并附上您的用例说明。