Update: Ich möchte das var value
an den Server weitergeben
Hallo, gleich alt, gleich alt ... :)
Ich habe ein Formular namens <form id="testForm" action="javascript:test()">
und einen Codebereich mit dem Namen<code id="testArea"></code>
Ich verwende diesen Code, um die Daten im Codebereich zu stringifizieren und anzuzeigen:
var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');
Ich möchte diese Daten an eine JSON-Datei senden. Ich habe an diesem Projekt gearbeitet: http://ridegrab.com/profile_old/ und wenn Sie drückenSubmit Query
Taste drücken, wird der Kopf der Seite ausgefüllt.
Außerdem möchte ich dieses Skript verwenden, um Daten zu senden:
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!");
}
})
}
Auch hier möchte ich nur diese JSON-Daten an den Server senden können. Mein Server ist für update or POST
die Daten am richtigen Ort eingerichtet.
data
mitdata: value,
... !! ??error
Funktion zuweisen , wird sie aufgerufen? Wenn ja, mit welchem Fehler?Antworten:
'data' sollte ein stringifiziertes JavaScript-Objekt sein:
Um Ihre zu senden
formData
, geben Sie sie anstringify
:Einige Server erfordern auch den
application/json
Inhaltstyp:Es gibt auch eine detailliertere Antwort auf eine ähnliche Frage hier: Jquery Ajax Posting json to webservice
quelle
{ foo: [1,2,3], bar: 'baz' }
. Dies wirdfoo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=3&bar=baz
formularcodiert als (nicht entkommen, es istfoo[]=1&foo[]=2&foo[]=3&bar=baz
). Wahrscheinlich nicht das, was Sie serverseitig wollen.Sie posten JSON so
Wenn Sie ein Objekt als settings.data übergeben, konvertiert jQuery es in Abfrageparameter und sendet es standardmäßig mit dem Datentyp application / x-www-form-urlencoded. Zeichensatz = UTF-8, wahrscheinlich nicht das, was Sie wollen
quelle
data
auf keinen Fall einen String verarbeitetWenn Sie diese Post-Anfrage an eine domänenübergreifende Anfrage senden, sollten Sie diesen Link überprüfen.
https://stackoverflow.com/a/1320708/969984
Ihr Server akzeptiert die Cross-Site-Post-Anfrage nicht. Daher muss die Serverkonfiguration geändert werden, um standortübergreifende Anforderungen zuzulassen.
quelle