Widzę, że jesteś programistą PHP i widzę też, że zrobiłeś to: ca$libri=no$libri. Sprawdzam tylko, żeby się upewnić ... czy na pewno nie próbujesz przypadkowo użyć konstrukcji PHP tam, gdzie powinny być konstrukcje JS? Jeśli chcesz dołączyć wartość $librizmiennej do tego łańcucha, spróbuj tego: 'foo=bar&ca' + $libri + '=no' + $libri.
treeface
nono :) Rozumiem wszystkie momenty generowania js przez php :) to nazwy zmiennych ajax w APS. Tworzę parser, który analizuje jakąś witrynę z AJAX. A teraz mam dlaczego błąd. To zapytanie crossdomain coz. Najpierw muszę utworzyć zapytanie na mój serwer :)
Mirgorod
Odpowiedzi:
182
Spróbuj tak:
$.ajax({
type:'POST',// make sure you respect the same origin policy with this url:// http://en.wikipedia.org/wiki/Same_origin_policy
url:'http://nakolesah.ru/',
data:{'foo':'bar','ca$libri':'no$libri'// <-- the $ sign in the parameter name seems unusual, I would avoid it},
success:function(msg){
alert('wow'+ msg);}});
dlatego przyjechałem tutaj, aby dowiedzieć się, jak wysłać dane $ .post jako ciąg. przyjęta odpowiedź wcale mi w tym nie pomaga. Dziękuję Ci.
chiliNUT,
Zgoda, miałem również sytuację, w której do ram, które tworzyłem, potrzebny był napis, dobra odpowiedź. W mojej sytuacji udało mi się to wykonać, umieszczając ciąg w zmiennej obok danych :, format mojego ciągu to '? Var = value & var2 = value2'
Joseph Astrahan
13
Widzę, że nie zrozumieli twojego pytania. Odpowiedź brzmi: dodaj „tradycyjny” parametr do wywołania Ajax w następujący sposób:
Nie jestem pewien, ale niektóre znaki w odpowiedzi nie mogą być traktowane jako ciągi znaków, chyba że są wymuszone.
Dylan Valade,
4
Nie jestem pewien, czy jest to nadal aktualne… tylko dla przyszłych czytelników. Jeśli naprawdę chcesz przekazać swoje parametry jako część adresu URL, prawdopodobnie powinieneś użyć jQuery.param () .
Ja też stanąłem przed tym właśnie problemem. Ale mam rozwiązanie i zadziałało idealnie. Musiałem przekazać parametry, które są już produkowane przez funkcję javascript. Więc poniższy kod działa dla mnie. Użyłem ColdFusion jako zaplecza. Po prostu bezpośrednio użyłem parametrów jako zmiennej.
$.ajax({
url:"https://myexampleurl.com/myactionfile.cfm",
type:"POST",
data :{paramert1: variable1,parameter2: variable2},
success:function(data){
console.log(data);})};
ca$libri=no$libri
. Sprawdzam tylko, żeby się upewnić ... czy na pewno nie próbujesz przypadkowo użyć konstrukcji PHP tam, gdzie powinny być konstrukcje JS? Jeśli chcesz dołączyć wartość$libri
zmiennej do tego łańcucha, spróbuj tego:'foo=bar&ca' + $libri + '=no' + $libri
.Odpowiedzi:
Spróbuj tak:
źródło
źródło
Widzę, że nie zrozumieli twojego pytania. Odpowiedź brzmi: dodaj „tradycyjny” parametr do wywołania Ajax w następujący sposób:
I będzie działać z parametrami PRZEKAZANO JAKO STRING.
źródło
W przypadku podobnej aplikacji musiałem owinąć mój
data
obiekt wJSON.stringify()
ten sposób:Interfejs API działał z klientem REST, ale nie mógł go uruchomić z jquery ajax w przeglądarce. Stringify było rozwiązaniem.
źródło
Nie jestem pewien, czy jest to nadal aktualne… tylko dla przyszłych czytelników. Jeśli naprawdę chcesz przekazać swoje parametry jako część adresu URL, prawdopodobnie powinieneś użyć jQuery.param () .
źródło
Nie jest to bezpośrednia odpowiedź na twoje pytanie. Ale jedyną składnią, która kiedyś działała dla mnie, jest następująca:
Nazwa parametru jest zgodna z argumentem metody serwera
źródło
Ja też stanąłem przed tym właśnie problemem. Ale mam rozwiązanie i zadziałało idealnie. Musiałem przekazać parametry, które są już produkowane przez funkcję javascript. Więc poniższy kod działa dla mnie. Użyłem ColdFusion jako zaplecza. Po prostu bezpośrednio użyłem parametrów jako zmiennej.
źródło
Miałem problem z przekazywaniem wartości ciągu do parametrów ciągu w Ajax. Po tylu googlach wymyśliłem niestandardowe rozwiązanie, jak poniżej.
Tutaj, bar i calibri są dwiema zmiennymi łańcuchowymi i możesz przekazać dowolną wartość ciągu do odpowiednich parametrów ciągu w metodzie sieciowej.
źródło