Ερώτηση για την ajaxreq.send()

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dpa » 02 Νοέμ 2009 18:03

Παιδιά έχω ένα βιβλίο για javascript και Ajax.

Λέει ότι η ajaxreq.send(null); Χρησιμοποιείτε τη μέθοδο send() του αντικειμένου XMLHttpRequest για να στείλετε την αίτηση στον διακομιστή. Εάν χρησιμοποιείτε τη μέθοδο POST, τα δεδομένα που στέλνονται είναι το όρισμα της send() . <= Αυτό δεν το καταλαβαίνω με την POST.

Ενώ λέει για μια αίτηση GET, μπορούμε να χρησιμοποιήσουμε την τιμή null.

Με την Get ok το έχω καταλάβει με την Post όμως δεν τον έχω.

Υπάρχει κάποιο παράδειγμα μπορεί κάποιος να με βοηθήσει ??


Ευχαριστώ πολύ

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dva_dev » 02 Νοέμ 2009 18:26

http://www.openjs.com/articles/ajax_xml ... g_post.php

Εχει ένα σύντομο παράδειγμα με GET και ακριβώς από κάτω δείχνει τις αλλαγές για να γίνει POST

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dpa » 02 Νοέμ 2009 22:02

Φίλε δεν έχω καταλάβει ποια η διαφορά τους ??

Μου φαίνονται ίδια

Ευχαριστώ που απάντησες

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dva_dev » 03 Νοέμ 2009 14:26

Εστω ότι έχεις φτιάξει μια σελίδα που να έχει δύο πεδία param1, param2 και τους βάζεις τιμές value1 και value2, και έχεις στη φόρμα action="http://server/page.php", την μέθοδο "get" τη μία φορά και την μέθοδο "post" την άλλη φορά.

Αυτό που γίνεται από τη φόρμα, για να το κάνεις με ajax πας κάπως έτσι:

για get:

Κώδικας: Επιλογή όλων

http.open&#40;"GET", "http&#58;//server/page.php?param1=value1&param2=value2", true&#41;; //η σελίδα μαζί με τις παραμέτρους στο url
http.send&#40;null&#41;;
για post:

Κώδικας: Επιλογή όλων

var params = "param1=value1&param2=value2"; //οι παράμετροι θα φύγουν ξεχωριστά μαζί με το header.
http.open&#40;"POST", "http&#58;//server/page.php", true&#41;; //μόνο η σελίδα στο url χωρίς παραμέτρους

//Στέλνει το header &#40;και λέει ότι να περιμένει να του στείλει και δεδομένα - τις παραμέτρους&#41;
http.setRequestHeader&#40;"Content-type", "application/x-www-form-urlencoded"&#41;;
http.setRequestHeader&#40;"Content-length", params.length&#41;;
http.setRequestHeader&#40;"Connection", "close"&#41;;
//στέλνει τις παραμέτρους
http.send&#40;params&#41;;
όλα τα υπόλοιπα είναι ίδια και στο get και στο post

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dpa » 03 Νοέμ 2009 16:18

Ευχαριστώ για τον χρόνο σου και την ανάλυση που έκανες.

Αυτές οι επικεφαλίδες πρέπει να τις στέλνουμε συνέχεια με το post ??

Βέβαια δεν ξέρω τι κάνουν.

Ευχαριστώ φίλε

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση για την ajaxreq.send()

Δημοσίευση από dva_dev » 04 Νοέμ 2009 00:23

Δεν το έχω ψάξει και πολύ, αλλά νομίζω πως είναι απαραίτητο αφού κάνεις emulation του form post.
Αντίθετα στην get δεν μου έχει στοιχήσει που δεν στέλνω τους headers, και αφήνω να στείλει ότι default νομίζει. Μπορεί να είμαι απλώς τυχερός βέβαια. ;)

Δες επίσης και
http://www.w3.org/TR/html401/interact/f ... #h-17.13.4

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες