Je suis/je suis complètement confus depuis plusieurs jours maintenant et je ne peux pas envoyer mon formulaire à un serveur. J'ai essayé tous les guides, tutoriels, exemples et suggestions de forum proposés par Internet et toujours sans succès.

Nous pouvons publier ce formulaire sur un nombre variable de serveurs différents et cela se fait via une liste déroulante de sélection/option en utilisant « id » comme variable. Nous utilisons un bouton pour soumettre le formulaire et recevoir un XML en réponse que nous devons voir dans un format XML. Cette réponse XML doit être dirigée pour s'afficher dans un iframe au sein d'un autre jeu de cadres. Vous trouverez ci-dessous un petit bout de code.

<script type="text/JavaScript" src="jQuery-1.12.4.js">
    $("#Form51").submit(function (e) {
        var url = "https://website.com:1234"; 

        $.ajax({
            type: "POST",
            url: url,
            data: $("#Form51"), 
            success: function (data) {
                alert(data); 
            }
        });

    });

</script>
</head>
<body> 

<form method="POST" name="form51" target="formresponse" id="form51">

<button>Submit</button>


....data
..data
data
</form>
</body>

Merci si quelqu'un peut m'aider à résoudre mon mal de tête à ce sujet :/

0
Hyg SuperSlayer 14 juin 2016 à 18:13

2 réponses

Meilleure réponse

Je crois que le formulaire essaie de se soumettre sans exécuter le code dans votre js. Il s'agit par défaut de l'action d'envoi, ce qui n'est pas ce que vous voulez. Essayez d'ajouter e.preventDefault() juste après votre gestionnaire d'événements :

<script type="text/JavaScript" src="jQuery-1.12.4.js">
$("#Form51").submit(function (e) {
    e.preventDefault(); //<-----------------------------------try this here
    var url = "https://website.com:1234"; 

    $.ajax({
        type: "POST",
        url: url,
        data: $("#Form51"), 
        success: function (data) {
            alert(data); 
        }
    });

});

</script>
</head>
<body> 

<form method="POST" name="form51" target="formresponse" id="form51">

<button>Submit</button>


....data
...data
data
</form>
</body>
0
Cruiser 15 juin 2016 à 16:13

Si vous soumettez vos données à un nombre variable de serveurs, chacun avec des URL différentes, vous pouvez rencontrer des problèmes avec Partage de références croisées (CORS ). Vous devrez peut-être apporter des modifications à votre serveur Web pour indiquer aux navigateurs que ces autres domaines sont valides et approuvés avant qu'ils ne soumettent et n'affichent les réponses d'un autre domaine.

Vous devrez modifier votre serveur Web pour insérer des en-têtes HTTP supplémentaires. Par exemple:

Access-Control-Allow-Origin: http://foo.com
Access-Control-Allow-Methods: PUT, DELETE

Sur apache, cela se fait en ajoutant à l'un des fichiers de configuration :

Header set Access-Control-Allow-Origin "http://foo.com"
0
James Shewey 14 juin 2016 à 18:23