mise à jour: je voudrais passer le var value
au serveur
bonjour, même vieux, même vieux ... :)
J'ai un formulaire appelé <form id="testForm" action="javascript:test()">
et une zone de code appelée <code id="testArea"></code>
J'utilise ce code pour stringifier et afficher les données dans la zone de code:
var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');
Ce que je veux, c'est envoyer ces données dans un fichier JSON. J'ai travaillé sur ce projet: http://ridegrab.com/profile_old/ et si vous appuyez sur le bouton Submit Query
, vous verrez l'en-tête de la page se remplir.
Aussi, je veux utiliser ce script pour envoyer des données:
function authenticate(userName, password) {
$.ajax
({
type: "POST",
//the url where you want to sent the userName and password to
url: 'username:password@link to the server/update',
dataType: 'json',
async: false,
//json object to sent to the authentication url
data: '{"userName": "' + userName + '", "password" : "' + password + '"}',
success: function () {
alert("Thanks!");
}
})
}
Encore une fois, tout ce que je veux, c'est pouvoir envoyer ces données JSON au serveur. Mon serveur est configuré pour update or POST
les données au bon endroit.
'data' doit être un objet JavaScript stratifié:
data: JSON.stringify({ "userName": userName, "password" : password })
Pour envoyer votre formData
, passez-le à stringify
:
data: JSON.stringify(formData)
Certains serveurs nécessitent également le type de contenu application/json
:
contentType: 'application/json'
Il existe également une réponse plus détaillée à une question similaire ici: Jquery Ajax Posting json to webservice
Vous postez JSON comme ça
$.ajax(url, {
data : JSON.stringify(myJSObject),
contentType : 'application/json',
type : 'POST',
...
si vous transmettez un objet en tant que settings.data, jQuery le convertira en paramètres de requête et l'enverra par défaut avec le type de données application/x-www-form-urlencoded; charset = UTF-8, probablement pas ce que vous voulez
Si vous envoyez cette demande de publication à un autre domaine, vous devriez consulter ce lien.
https://stackoverflow.com/a/1320708/969984
Votre serveur n'accepte pas la demande de publication intersite. La configuration du serveur doit donc être modifiée pour autoriser les requêtes intersites.