/ / Diese jQuery-Seite funktioniert nicht, Warum? - Jquery

Diese jQuery-Seite funktioniert nicht, Warum? - Jquery

Warum funktioniert dieser jQuery-Code nicht? Was ist falsch?

Das erwartete Verhalten, dass es den Inhalt der angeforderten JSON-Datei meldet, tut es aber nicht.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
type: "GET",
url: "http://api.xxxxxxxxx.com/0.1/cities/key=xxxx",
dataType: "jsonp",
crossDomain: true,
success: function(data){
$.each(data, function(i, el){
alert(el.city)
});
;}
});
</script>

<title>Example</title>
</head>
<body></body>
</html>

Antworten:

2 für die Antwort № 1

Die Ressource, die Sie laden, ist nicht JSONP, sondern nur eine JSON-Zeichenfolge. JSONP sollte folgendermaßen aussehen:

callback("jsonString");

Nicht alle json können als jsonp geladen werden, es muss speziell dafür eingerichtet werden.

JSONP


0 für die Antwort № 2

Funktion muss Rückruf haben

callback({json:true});

Wenn Sie keine Kontrolle über den Zielserver haben, ist es nicht möglich, eine jsonp-Anfrage zu stellen