2011-09-10 21 views
12

Próbuję stworzyć moje pierwsze skrzypce. Tak oto, co chcę zrobić z jQueryJak korzystać z żądania ajax w jsFiddle

$('.list').live('click', function(){ 
    var dataPass = 'uid='+ uid; 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataPass, 
     cache: false, 
     success: function(html){ 
      //Do something 
     } 
    }); 
}); 

tak jak/gdzie mogę pisać kody test.php pliku? Zwróci trochę znaczników html.

Odpowiedz

10

Nie można przesłać żądania AJAX do domeny innej niż bieżąca, ponieważ jest to dość podstawowe zagrożenie bezpieczeństwa.

jsFiddle ma numer API do testowania żądań AJAX, których należy użyć zamiast niego.

4

Oto praca fiddle tego, czego prawdopodobnie szukasz.

Użyłem http://echo.jsontest.com, ale możesz zastąpić prawidłowy adres URL.

var echo = function(dataPass) { 
    $.ajax({ 
     type: "POST", 
     url: "/echo/json/", 
     data: dataPass, 
     cache: false, 
     success: function(json){ 
      alert("UID=" + json.uid + "\nName=" + json.value); 
     } 
    }); 
}; 

$('.list').live('click', function(){ 
    $.get("http://echo.jsontest.com/uid/12345/value/nuno_bettencourt", function(data) { 
     var json = { 
      json: JSON.stringify(data), 
      delay: 1 
     }; 
     echo(json);; 
    });​ 
}); 
+0

Jak to działa? Czy nie powinno być zabronione wywołanie funkcji $ .get() przez tę samą zasadę pochodzenia?/confused – rych

+0

Zdalny serwer dodaje ten nagłówek HTTP, aby poinformować przeglądarkę, że zezwala na żądanie domeny 'Access-Control-Allow-Origin: *'. Zobacz nagłówki na karcie Sieć w narzędziu do debugowania przeglądarki. – oldwizard

+0

http://echo.json.services/?foo=bar&baz=qux – Falci

Powiązane problemy