Πώς μπορώ να στείλω ένα αίτημα POST διασταυρούμενου τομέα μέσω JavaScript;
Σημειώσεις - δεν θα πρέπει να ανανεώσει τη σελίδα, και πρέπει να αρπάξω και να αναλύσω την απάντηση στη συνέχεια.
Ψευδοκώδικας
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, ώστε να είναι κρυμμένο και απόλυτα τοποθετημένο. Δεν είμαι σίγουρος ότι η τοποθέτηση σε άλλη ιστοσελίδα θα επιτρέπεται από το πρόγραμμα περιήγησης, αλλά αν ναι, αυτός είναι ο τρόπος για να το κάνετε.
Ελέγξτε τη συνάρτηση post_method
στο http://taiyolab.com/mbtweet/scripts/twitterapi_call.js - ένα καλό παράδειγμα για τη μέθοδο iframe που περιγράφηκε παραπάνω.
Υψηλό επίπεδο.... Πρέπει να έχετε ρυθμίσει ένα 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.