2016-03-22 24 views
3

Ben bir sorun, benAjax olsun yöntem çalışmıyor

$.ajax({ 
    url: request, 
    type: "get", 
    contentType: "application/json; charset=utf-8", 
    dataType: "jsonp", 
    success: function (data) { 
     if (data.ResultCode==="200") { 
      console.log(data.Result[0]); 
     } 
     else if (data.ResultCode !== "200") { 
      myApp.alert(data.ResultDesc, ""); 
     } 

    }, 
    error: function() { 
     console.log("your call failed"); 
     myApp.alert("Sunucuya erişilemiyor.",""); 
    } 
}); 

bu yazdığım benim kodudur, bir API gelen json verilerini alıyorum, ben

Uncaught SyntaxError: Unexpected token :

url gibi bir hata var doğru, sorunu göremiyorum.

+0

bu tam hata iletisi:

//fetch.php <?php header('Content-Type: application/json'); $homepage = file_get_contents('http://www.example.com/'); echo json_encode($homepage); ?> 

Şimdi veri sağlayabilmek için bu dosyayı çağırabilirsiniz: php Örneğin böyle bir şey yapabilir? bir sözdizimi hatası gibi görünüyor –

+0

kaynak jsonp istekleri desteklemiyor gibi görünüyor ... ağ sekmesini kullanarak yanıt içeriğini görmek –

cevap

1

değiştireceğim dataType için: dataType: "json", son yorumun gereğince

:

i did write like this but i got error Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. so i changed to jsonp

bir kaynak verileri paylaşmak için kendi ucunda CORS'yi etkinleştirmek henüz bu hata oluşur farklı alanlarda. Kaynağa erişiminiz varsa CORS'i etkinleştirin, ardından verileri alırsınız. Aksi takdirde başka bir seçenek sunucunuzda bir proxy oluşturmak ve verileri başka bir sunucudan almak için bunu çağırmaktır.

var request = 'fetch.php'; 
$.ajax({ 
    url: request, 
    type: "get", 
    //contentType: "application/json; charset=utf-8", // not needed in this case 
    dataType: "json", // <----this has to be json 
    success: function (data) { 
     if (data.ResultCode==="200") { 
      console.log(data.Result[0]); 
     } 
     else if (data.ResultCode !== "200") { 
      myApp.alert(data.ResultDesc, ""); 
     } 
    }, 
    error: function() { 
     console.log("your call failed"); 
     myApp.alert("Sunucuya erişilemiyor.",""); 
    } 
}); 
+0

belki o bir jsonp 'isteği yapıyor, bu hata –

+0

için bir neden bu yüzden böyle yazdım ama hata aldım. Ön kontrol isteğine yanıt erişim denetimi kontrolünü geçmiyor: İstenen kaynağa 'Erişim-Kontrol-İzin-Kökeni' başlığı yok. Origin 'null' bu nedenle erişime izin verilmiyor. Bu yüzden jsonp –

+0

olarak değiştirdim Sonra CORS hatası. CORS, kaynakta etkinleştirildi, aksi takdirde verileri almak için sunucunuzda bir proxy kurmanız gerekir. – Jai

İlgili konular