2010-11-28 15 views
2

Ich sende eine Ajax-Anfrage an meinen Server, der einige Daten dort aktualisiert. Die Anfrage wird mit der Funktion get von jquery gesendet. Bei Erfolg würde Ich mag eine Aktion te ausführen, aber leider gesamte Vorgang fehlschlägt, da Server keine Antwort gibt, obwohl Firebug zeigt deutlich, 200 Status:Senden GET an Server gibt keine Antwort (aber Status zurückgegeben)

alt text
Was mehr ist, als ich diese Adresse mit Browser eingeben, auch alles sieht gut aus. Irgendwelche Ideen, warum es möglicherweise nicht richtig funktioniert? Hier ist mein Js:

$(".interests-delete").live("click", function(){ 
     var id = $(this).attr('title'); 
     var user_id = "100000717262400"; 

     $.ajax({ 
      type: "GET", 
      url: "http://dev1.gecoloco.com/rte/ilike.php?", 
      data: "u=" + user_id + "&d=" + id, 
      dataType: "json", 
      success: function(response, status){ 
       alert(status); 
       console.log(response); 
       getLikes(); 
      } 
     }); 
     return false;    
    }); 
+1

Versuchen Sie, das Fragezeichen am Ende des Parameters 'url' wegzulassen. – karim79

+0

ohne das Fragezeichen änderte die URL zu ... php? U =, ohne das zusätzliche '&'. Aber das Problem bleibt bestehen. – mastodon

Antwort

0

Ihre URL sieht ein bisschen lustig dort. Der Teil: "? & u = ..." sollte "? U = ..." sein

+0

sieht es so aus, als ob jq dieses zusätzliche '& 'Zeichen hinzufügt. Noch Link funktioniert mit diesem einen hinzugefügt: http://dev1.gecoloco.com/rte/ilike.php?u=100000717262400&d=2 – mastodon

+0

@mastodon, fügen Sie die URL direkt im Browser und sehen was passiert ist ?? – kobe

+0

auf Chrom und ff geprüft und ich bekomme JSON Antwort. Also was fehlt mir? – mastodon

0

Vielleicht stimmt mit Ihrer Erfolgsfunktion etwas nicht. Es ist möglich, dass Sie eine Antwort erhalten, aber Ihr Javascript stürzt irgendwo in Ihrer Funktion ab.

+0

aber die Funktion auf Erfolg ist nicht einmal gefeuert, da es keine tatsächliche Antwort gibt. – mastodon

1

Es ist sehr wahrscheinlich aufgrund der "self origin policy", dass Ihr HTML sollte von der gleichen Domäne, die Ajax Aufruf ausgegeben wird kommen. Versuchen Sie Ihre HTML-Seite nicht aus dem Dateisystem, sondern durch den gleichen Server für die Ajax Anrufe. es wird funktionieren.

0

ich das erlebt habe vor, wenn ich eine Seite aus dem lokalen Dateisystem in meinem Browser geöffnet, zB file:///C:/Users/Eason/Desktop/mailer/index.html.

wenn diese Seite eine AJAX-Anforderung zu machen versucht, würde es dieses Problem verursachen Wenn es auf einem Webserver (z. B. Tomcat) veröffentlicht wird, würde es funktionieren

Dies ist eine Sicherheitsbeschränkung im Browser, um unsicheren domänenübergreifenden Datenverkehr zu verhindern.

Verwandte Themen