2016-04-17 7 views
0

Ich habe diese API http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&convo_id=exampleusage_1231232&format=xml, die ich mit dem Browser aufrufen, dann bekomme ich richtige Antwort. Aber wenn ich Jquery Ajax-Aufruf verwenden, dann bin ich der Fehler immerWie man einen jsonp mit jquery aufruft?

*Refused to execute script from 'http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&c…ormat=xml&callback=?%20&callback=jQuery172005527849208121283_1460880216789' because its MIME type ('text/xml') is not executable, and strict MIME type checking is enabled.* 

Code ist wie unten

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>JQuery (cross-domain) JSONP Twitter example</title> 
     <script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
     <script> 
      $.ajax({ 
    url: "http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&convo_id=exampleusage_1231232&format=xml&callback=? ", 
    type: "GET", 
    dataType: 'jsonp', 
    cache: true, 
    success: function (data, status, error) { 
     console.log('success', data); 
    }, 
    error: function (data, status, error) { 
     console.log('error', data, status, error); 
    } 
}); 
     </script> 
    </head> 
    <body> 
     <ul id="gists"></ul> 
    </body> 
</html> 

Kann jemand mir bitte sagen, warum ich falsch mache?

Antwort

0

Ihre Antwort ist eine XML-Datei. Sie sollten die format Abfrage zu json ändern. Hier

ist die Antwort in JSON:

{"convo_id":"exampleusage_1231232","usersay":"WHAT IS YOUR NAME","botsay":"My name is Program-O."} 
+0

Ich bekomme den gleichen Fehler – SpringLearner

0

Das Problem ist hier

$.ajax({ 
    url: "http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&convo_id=exampleusage_1231232&format=xml&callback=? ", 
    type: "GET", 
    dataType: 'jsonp', 

Sie anfordern für XML

http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&convo_id=exampleusage_1231232&format=xml

Wenn Sie XML ersetzen mit JSON sollte es funktionieren.

http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name& convo_id=exampleusage_1231232&format=json

+1

Wäre nicht das Format json-p sein? – nnnnnn

+0

ja, aber es scheint 'api.program-o.com' nicht unterstützen json-p –

+0

@RubenYeghikyan Ich habe bereits versucht, wie Sie vorgeschlagen, aber ich bekomme den gleichen Fehler – SpringLearner

0

Wenn u versuchen, einen direkten Aufruf zu http://api.program-o.com/v2/chatbot/?bot_id=6&say=what%20is%20your%20name&convo_id=exampleusage_1231232&format=json in Ihrem Browser zu machen, werden Sie die Rückkehr Header bemerken ist Content-Type:text/plain; charset=utf-8 und X-Content-Type-Options:nosniff. Es weist Chrome eine strenge MIME-Typüberprüfung zu. Können Sie versuchen, die Server-Ausgabe Content-Type auf application/javascript zu ändern oder die X-Content-Type-Options:nosniff zu entfernen?

+0

Ich habe keine Kontrolle in Server, also kann ich die Serversache nicht ändern. Ohne die Server-Sache zu ändern, ist es nicht möglich, die Ausgabe in Webseiten mit Ajax anzuzeigen? – SpringLearner

Verwandte Themen