Ajax - wykonanie skryptu php


(master of disaster) #1

Witam!

Czy za pomocą ajaxa, jest możliwe wykonanie jakiegoś kodu php bez przeładowania strony?

A mianowicie dodania pewnych danych do bazy, i wysłanie obrazka na serwer.

Co do tego pierwszego myślę że nie będzie problemu, w przeciwieństwie do tego drugiego.

Oczywiście w jak najprostszy sposób.

Pozdrawiam.


(mario@) #2

Od tego to jest.

Wykorzystaj iframe. Mając formularz

nadaj mu atrybut target, któremu przypisz nazwę ramki a w action napisz nazwę pliku php odpowiedzialnego za przeniesienie załadowanego pliku.

[/code]

Oczywiście możesz podpiąć pod to różne funkcje w js informujące o statusie pliku itp.


(Grzelix) #3

Co do pierwszego to poradziłym po czytać tutaj:

http://api.jquery.com/jQuery.ajax/


(master of disaster) #4

@mario, znam ten sposób, ale jednak byłbym za uniknienciem ramki i użycia ajaxu.

Niby czytałem że nie można za pomocą ajax uploadować, ale w takim razie jak jest zrobione uploadify?


(mario@) #5

Ajax sam w sobie nie może wysyłać plików na serwer. Nie zaglądałem do kodu tego skryptu ale pamiętaj że skrypt sam sobie może tworzyć/usuwać obiekty iframe(bez Twojej wiedzy). Po drugie po coś tam flasha użyli(bo wątpię aby chodziło tylko o nakładkę na bo i bez niego jest to możliwe).


(master of disaster) #6

Ok, dzięki, więc jednak zrobię przy użyciu ramki :slight_smile:

Tylko co, jeśli w pliku którym jest ten kod php, po sprawdzeniu jest przekierowanie? Chce żeby przekierowało "całą stronę" a nie tylko ramkę.

Pozdro


(mario@) #7

W pliku do którego się odwołujesz na samym końcu dopisujesz (warto by przed tym dać jakieś opóźnienie w php/js 1-2)

Można by też napisać window.parent.location ale top da gwarancję, że zmieni się adres głównego okna.