2015-02-19 32 views
8

Wysyłam żądanie ajax do domeny zewnętrznej. Oto mój kod, Może wystąpić problem z odpowiedzią JSONP podczas konwertowania danych html na jsonp. Próbowałem tak wiele rozwiązania, ponieważ żądam do krzyżowania domeny, więc muszę użyć JSONP jeszcze muszę napotkać błąd cross-domain. Błąd w przypadku użycia prostego błędu JSON: "XMLHttpRequest nie może załadować http://www.blink.com.kw/search-result.aspx?text=apple&searchfor=all. Żądany zasób nie zawiera nagłówka" Access-Control-Allow-Origin ", dlatego" localhost lokalny: 49324 "jest niedozwolony."Uncaught SyntaxError: nieoczekiwany token <w <! DOCTYPE html>

błąd Odpowiedź: Uncaught SyntaxError: Nieoczekiwany token <

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#bt").click(function(){ 
     $.ajax({ 
     type: 'GET', 
     url: 'http://www.blink.com.kw/search-result.aspx?text=apple&searchfor=all', 
     dataType: 'jsonp', 
     success: function (data) {   
     console.log(data); 
//$("#data").html(data); 
     } 
     }); 
    }); 
}); 
</script> 
+1

adresu URL nie zwraca żadnej 'json' z' padding' == 'JSONP' – Jai

Odpowiedz

2

to prawdopodobnie dzieje się dlatego, że określając go jako jsonp, który wykonuje dane jako skrypt w celu realizacji funkcji zwrotnej. Jeśli odeśle normalny dokument HTML, z tym, że doctype jest pierwszym wierszem, który widzi, wystąpi.

+0

proszę przeczytać pełny opis kwestii, kiedy użyć prostego json, pokazuje błąd cross-domain. :( –

+1

To jest normalne, JSON pobiera go za pomocą standardowego XMLHttpRequest, który powinien być zgodny z polityką tego samego pochodzenia. Określenie go jako JSONP tworzy tag skryptu z adresem URL jako źródłem, spodziewając się, że wykona on funkcję zwrotną zdefiniowaną gdzie indziej . –

0

Try this code, basically we should not use url like this. Also, this url is not return any json or jsonp format, please check your link as well

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#bt").click(function(){ 
     $.ajax({ 
     type: 'GET', 
     url: 'http://www.blink.com.kw/search-result.aspx', 
     dataType: 'jsonp', 
     data:{ 
      text: apple, 
      searchfor: all 
     } 
     success: function (data) {   
     console.log(data); 
     } 
     }); 
    }); 
}); 
</script> 

Nadzieja to pomaga :)