2017-03-21 1 views
0

Ich habe ein JSON-Array:kann nicht analysieren json Array beginnen mit [

[{ 
"id": "xx", 
"type": "xx", 
"description": { 
"type": "string", 
"value": "xxx", 
"metadata": {} 
}, 
"imageurl": { 
"type": "string", 
"value": "xxx", 
"metadata": {} 
}, 
"location": { 
"type": "string", 
"value": "xxx", 
"metadata": {} 
} 
}] 

Ich möchte mit Kopf Anfrage es durch Ajax analysieren:

$.ajax({ 
       type: "GET", 
       url: "http://192.168.xxx.xx", 
       dataType: "jsonp", 
       contentType:"application/json", 
       cache: true, 
       headers: { "fiware-service": "smartcity" , "fiware-servicepath": "/"}, 
       error:function(e){ 
          console.log(e); 
          alert("noooooo"); 
       }, 
       success: function (data) { 
         alert("yesssss"); 
    //for(var a=0;a<25;a++){ 


    //} 

     } 
    }); 

Aber ich noooo immer bekommen, und didn‘ t erhalten Sie das JSON-Array, warum? Gibt es Probleme mit dem Dateityp? kann jemand helfen?

Dank viel

+0

Versuchen Sie, 'dataType:" jsonp ",' zu 'dataType:" json ",' als jsonp ist etwas anderes. –

+0

Wenn ich es zu json ändern, habe ich 405 (Method Not Allowed) XMLHttpRequest kann http://1xx.xxx.xxx nicht laden. Die Antwort auf die Preflight-Anforderung übergibt die Zugriffskontrollprüfung nicht: Auf der angeforderten Ressource ist kein Header "Access-Control-Allow-Origin" vorhanden. Origin 'null' ist daher nicht erlaubt. Die Antwort hatte den HTTP-Statuscode 405. –

+0

Sie müssen Ihren Post dann mit dem, was Sie versuchen zu aktualisieren, da Ajax-Anfrage nur in der gleichen Herkunft z. _example.com_ (vereinfacht) und wenn Sie eine Jax-Anforderung an eine andere Domäne ausführen, müssen Sie dies zulassen. Wenn Sie vollen Zugriff auf die Ressource haben, die Sie anfordern, können Sie sie so anpassen, dass sie json aber jsonp nicht zurückgibt. Lesen Sie über jsonp oder über den 'Access-Control-Allow-Origin'-Header, Sie können Ihren Server einrichten, indem Sie' Access-Control-Allow-Origin 'setzen, damit Anfragen von Ihrer Domain ausgeführt werden können. –

Antwort

0

Schließlich verwendete ich Proxy dieses Problem zu lösen. Danke euch allen.