2010-12-22 8 views
1

Ich habe eine Website in Apache Tomcat hochgeladen. Der Code wird unter dieser Website angezeigt, um json-Daten von einem anderen Server abzurufen. Aus irgendeinem Grund reagiert der andere Server nicht, da ich die Fehlermeldung bekomme "Handshake ging nicht durch". Firebug net Panel zeigt keine Antwort Header auch der Apache und der andere Server sind auf der gleichen Domain. Können Sie uns bitte eine Rückmeldung oder einen Hinweis zur Problembehandlung geben? Gibt es irgendetwas mit Ajax, weil es scheint, dass es nicht sendet.Fehlerbehebung Hilfe jquery/ajax/json keine http Antwort

Java-Script-Code:

$(document).ready(function(){ 
    var home_add='http://mywebsite.net:3300/gateway'; 
    $('#handshake').click(function(){ 
     alert(" sending json data"); 
     $.ajax({ /* start ajax function to send data */ 
       url:home_add, 
       type:'POST', 
       datatype:'json', 
       contenttype:'text/json', 
       error:function(){ alert("handshake didn't go through")}, 
       /* call disconnect function */ 
       data:{ 
        "supportedConnectionTypes": "long-polling", 
        "channel": "/meta/handshake", 
        "version": "1:0" 
       }, 
       success:function(data){ 
        $("p").append(data+"<br/>"); 
        alert("sucessful handshake"); 
       }      
     }) 
    }) 
}); 

Firebug Zeitlinie zeigt DNS-Lookup, Verbinden und wartet dort ist kein Senden noch Empfangen. Der Anforderungsheader ist der folgende, aber es gibt keine Antwort.

Hostmywebsite.net:3300
Benutzer AgentMozilla/5.0 (X11; U; Linux i686; en-US; rv: 1.9.2.13) Gecko/20101209 CentOS/3.6-2.el5.centos Firefox/3.6.13 Accepttext/html, application/xhtml + xml, application/xml; q = 0,9, /; q = 0,8
Accept-Sprachede-de, en; q = 0,5
Accept-Encodinggzip, abzulassen
Akzeptieren-ZeichensatzISO-8859-1, utf-8; q = 0,7, *; q = 0,7
Keep-Alive115
Connectionkeep-alive
Originhttp: //127.0.0.1: 8080
Access-Control-Request-Me ... POST

Antwort

1

Sie sind ein Ajax-Aufruf zu einer anderen Domäne als Ihre Domäne zu machen (das heißt Die Seite stammt von mydomain.com, aber der Ajax-Aufruf ist zu ihrdomain.com?) Wenn ja, ist dies nicht mit geraden json erlaubt, aber Sie können in jsonp (Json mit Auffüllen)

+0

Nein ist es die gleiche Domäne – Lava

+1

Etwas anderes ist mir aufgefallen. Ich weiß nicht, ob dies nur aus Ihrem Beispiel oder wenn dies der eigentliche Code ist, aber DataType und ContentType sind nicht korrekt in dem, was Sie oben haben. Eine meiner größten Abneigungen von Javascript ist, dass es sowohl interpretiert als auch von der Groß- und Kleinschreibung abhängt. Viele Stunden sind deswegen verloren gegangen. –

+0

Hallo Brian, danke für die Antwort, die ich getan habe, was du mir gesagt hast, aber immer noch dasselbe :( – Lava