2016-07-11 38 views
0

Die API, die ich im AJAX-Aufruf anrufe, gibt json zurück und unterstützt jsonp nicht und ich kann die API nicht ändern. Wenn ich den folgenden Codeausschnitt benutze, bekomme ich - "fehlt; vor der Aussage 'Fehler.Wie erhalten Sie Json-Daten von Cross-Domain-Server mit AJAX?

$.ajax({ 
     url: some_api, 
     type: 'GET', 
     dataType:"jsonp", 
     success: function(result){ 
        alert("in success"); 
     }, 
     error : function(result){ 
        alert(result); 
        alert("in error"); 
     } 
}); 

Wenn das obige Codefragment der Fehlerblock ausgeführt wird, wird ausgeführt, obwohl ich die richtige JSON in response.How bekomme ich kann ich möglicherweise die JSON analysieren.

Wenn ich den Ajax-Aufruf ohne dataType als Jsonp, bekomme ich eine Cross-Origin-Anfrage blockierten Fehler. Gibt es eine Problemumgehung für das Problem?

+0

Sie können nicht. Wenn der Server CORS oder jsonp nicht unterstützt, ist es nur möglich, sie von Ihrem Server zu übernehmen. – Lux

+0

Einmal durch CORS gehen? –

Antwort

0

eine leichte Modifikation Make -

$.ajax({ 
    url: some_api, 
    type: 'GET', 
    jsonp: "callback", 
    dataType:"jsonp", 
    success: function(result){ 
       alert("in success"); 
    }, 
    error : function(result){ 
       alert(result); 
       alert("in error"); 
    } 
}); 
+0

Bereits ausprobiert. Es hilft nicht. – Shruti