Zugriff auf JSON auf externem Server

Ich habe eine externe JSON-URL.

http://kun6858.iptime.org:8080/apps/list/?app_mb_no=9

Und ich greife mit jquery $ .getJSON (..) auf diesen Json zu

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script>
$.getJSON(
    "http://kun6858.iptime.org:8080/apps/list/?jsoncallback=?",
    {
        app_mb_no : 9
    },
    function(data) {
        console.log(data);
    }
);
</script>
</body>
</html>

Ich kann jedoch nicht über die oben genannte Quelle auf JSON zugreifen.

Ich habe keine Ahnung, wie ich auf den json eines externen Servers zugreifen soll. Hat meine Quelle ein Problem? oder der JSON?

Zu Ihrer Information ist dies ein Screenshot.

 Patrick Jeon05. Juni 2012, 20:13
Das war das Geheimnis von Jquery Ajax.stackoverflow.com/questions/7936610/…

Antworten auf die Frage(3)

wie es funktioniert, aber das hat mein Problem gelöst.

Dies in ServletResponse hinzufügen

    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setContentType("Content-Type:application/json;charset=UTF-8");

Und das Html

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script>
var url = "http://localhost:8080/apps/list/?app_mb_no=9";


if ($.browser.msie && window.XDomainRequest) {
    // Use Microsoft XDR
    var xdr = new XDomainRequest();
    xdr.open("get", url);
    xdr.onload = function () {
    var JSON = $.parseJSON(xdr.responseText);
    if (JSON == null || typeof (JSON) == 'undefined')
    {
        JSON = $.parseJSON(data.firstChild.textContent);
    }
    processData(JSON);
    };
    xdr.send();
} else {
          $.ajax({
          type: 'GET',
          url: url,
          processData: true,
          data: {},
          dataType: "json",
          success: function (data) { processData(data); }
          });
}

function processData(data) {
    console.log(data);  
}
</script>
</body>
</html>

Wenn jemand einen besseren Weg kennt, lehre mich bitte !! Vielen Dank

 Patrick Jeon05. Juni 2012, 16:56
im IE8 getestet, aber nicht funktioniert
 Patrick Jeon05. Juni 2012, 20:14

Nichtapp_mb_no Benötigen Sie einen Wert für Ihren Ajax-Anruf? z.B.app_mb_no : 9Du kannst den ... benutzen.ajax Äquivalent:$.ajax({ url: url, dataType: 'json', data: data, success: callback });Haben Sie Ihren Code unter einem Webserver ausgeführt? Das musst du machen.
 Tooraj Jam05. Juni 2012, 16:09
Warum hat Ihre URL zwei??
 Patrick Jeon05. Juni 2012, 16:11
Es ist für die domänenübergreifende Unterstützung von Jquery, so lange ich weiß
 Patrick Jeon05. Juni 2012, 16:05
Ich glaube, der JSON hat kein Problem.
 Patrick Jeon05. Juni 2012, 15:59
Ich habe es auf meinem eigenen Server nach Ihrer Antwort versucht. aber das gleiche passierte .. und modifizierte app_mb_no: 9
 Patrick Jeon05. Juni 2012, 16:04
Ich benutze Chrome und es gibt mir "Uncaught SyntaxError: Unerwartetes Token:"
 Tooraj Jam05. Juni 2012, 16:03
Entscheiden Sie sich für die Javascript-Konsole. Hat sie etwas mit domänenübergreifenden Inhalten zu tun?
 Tooraj Jam05. Juni 2012, 16:08
Überprüfen Sie Ihren JS-Code mithilfe des Chrome-Entwicklertools auf Syntaxfehler. Chrome wird sie hervorheben.
Lösung für das Problem

r müssen Sie Ihren AJAX-Aufruf ändern.

Eine gute Erklärung für dieses Szenario finden Sie hier:

http://www.jquery4u.com/json/jsonp-examples/

 mons droid28. Juni 2012, 14:49
Hallo Patrick, unterstützt deine Server Applikation jsonp? Wie im Beispiel gezeigt, müssen Sie Ihre jsonp-Antwort in die jsoncallback-Funktion einbinden. Viele Grüße, Monsi
 Patrick Jeon05. Juni 2012, 16:01
versucht mit (function ($) {var url = 'kun6858.iptime.org:8080/apps/list'; $ .ajax ({type: 'GET', url: url, async: false, contentType: "application / json", dataType: 'jsonp', data: {app_mb_no: 9}}); }) (jQuery); das aber das selbe ...

Ihre Antwort auf die Frage