Πώς μπορώ να στείλω ένα αίτημα POST διασταυρούμενου τομέα μέσω JavaScript;

Πώς μπορώ να στείλω ένα αίτημα POST διασταυρούμενου τομέα μέσω JavaScript;

Σημειώσεις - δεν θα πρέπει να ανανεώσει τη σελίδα, και πρέπει να αρπάξω και να αναλύσω την απάντηση στη συνέχεια.

  1. Δημιουργήστε ένα iFrame,
  2. βάλτε σε αυτό μια φόρμα με κρυφές εισόδους,
  3. ορίστε την ενέργεια της φόρμας στη διεύθυνση URL,
  4. Προσθέστε το iframe στο έγγραφο
  5. Υποβολή της φόρμας

Ψευδοκώδικας

 var ifr = document.createElement('iframe');
 var frm = document.createElement('form');
 frm.setAttribute("action", "yoururl");
 frm.setAttribute("method", "post");

 // create hidden inputs, add them
 // not shown, but similar (create, setAttribute, appendChild)

 ifr.appendChild(frm);
 document.body.appendChild(ifr);
 frm.submit();

Πιθανόν να θέλετε να διαμορφώσετε το iframe, ώστε να είναι κρυμμένο και απόλυτα τοποθετημένο. Δεν είμαι σίγουρος ότι η τοποθέτηση σε άλλη ιστοσελίδα θα επιτρέπεται από το πρόγραμμα περιήγησης, αλλά αν ναι, αυτός είναι ο τρόπος για να το κάνετε.

Σχόλια (9)

Ελέγξτε τη συνάρτηση post_method στο http://taiyolab.com/mbtweet/scripts/twitterapi_call.js - ένα καλό παράδειγμα για τη μέθοδο iframe που περιγράφηκε παραπάνω.

Σχόλια (0)

Υψηλό επίπεδο.... Πρέπει να έχετε ρυθμίσει ένα cname στον διακομιστή σας έτσι ώστε το other-serve.your-server.com να δείχνει στο other-server.com.

Η σελίδα σας δημιουργεί δυναμικά ένα αόρατο iframe, το οποίο λειτουργεί ως το μέσο μεταφοράς σας προς το other-server.com. Στη συνέχεια, πρέπει να επικοινωνείτε μέσω JS από τη σελίδα σας στο other-server.com και να έχετε call backs που επιστρέφουν τα δεδομένα πίσω στη σελίδα σας.

Εφικτό, αλλά απαιτεί συντονισμό από το your-server.com και το other-server.com.

Σχόλια (2)