2016-12-14 2 views
1

Dies ist die URL, die ich versuche, die JSON erhalten von: https://shopicruit.myshopify.com/admin/orders.json?page=1&access_token=c32313df0d0ef512ca64d5b336a0d7c6Kreuz Domain Antrag eines Dritten API (https)

Allerdings habe ich beide CORS versucht, aber es ist fehlgeschlagen. Hier ist mein Code aus einer Vorlage folgenden:

function createCORSRequest(method, url) { 
    var xhr = new XMLHttpRequest(); 
    if ("withCredentials" in xhr) { 
    // XHR for Chrome/Firefox/Opera/Safari. 
    xhr.open(method, url, true); 
    } else if (typeof XDomainRequest != "undefined") { 
    // XDomainRequest for IE. 
    xhr = new XDomainRequest(); 
    xhr.open(method, url); 
    } else { 
    // CORS not supported. 
    xhr = null; 
    } 
    return xhr; 
} 

// Helper method to parse the title tag from the response. 
function getTitle(text) { 
    return text.match('<title>(.*)?</title>')[1]; 
} 

// Make the actual CORS request. 
function makeCorsRequest() { 
    var url = 'https://shopicruit.myshopify.com/admin/orders.json?page=1&access_token=c32313df0d0ef512ca64d5b336a0d7c6'; 

    var xhr = createCORSRequest('GET', url); 
    if (!xhr) { 
    alert('CORS not supported'); 
    return; 
    } 

    // Response handlers. 
    xhr.onload = function() { 
    var text = xhr.responseText; 
    console.log("success"); 
    }; 

    xhr.onerror = function() { 
    alert('Woops, there was an error making the request.'); 
    }; 

    xhr.send(); 
} 
makeCorsRequest(); 

Es ist immer noch mir diesen Fehler gibt:

XMLHttpRequest cannot load >https://shopicruit.myshopify.com/admin/orders.json ?>page=1&access_token=c32313df0d0ef512ca64d5b336a0d7c6. No 'Access-Control->Allow-Origin' header is present on the requested resource. Origin 'null' >is therefore not allowed access.

Ich habe auch versucht JSONP aber es sieht aus wie es nicht JSONP nicht unterstützt.

Jede Hilfe und Einblicke werden geschätzt!

+0

Sie müssen einen serverseitigen Proxy auf einem Server verwenden, den Sie steuern, wenn die Site nicht so konfiguriert ist, dass sie stammursprungsübergreifende Anforderungen zulässt. Mit JavaScript im Browser können Sie nichts machen. – Pointy

+1

Und wenn @Pointy Proxy erwähnen, meinte er das https://help.shopify.com/api/tutorials/application-proxies –

+0

@Pointy Hast du einen Link zu einem Tutorial, dem ich folgen kann? – singard

Antwort

0

Problem tritt auf, weil XMLHTTPRequest CORS-Probleme verursacht. Der Aufruf von XMLHTTPRequest sollte vom Browser an dieselbe Domäne erfolgen.

https://shopicruit.myshopify.com muss implementieren Access-Control-Allow-Origin: * Header in der Antwort, um von allen Domänen zugreifen.

Sonst können Sie Ihren Server als Proxy verwenden.

Verwandte Themen