aktualizacja: Chciałbym przekazać var value
to na serwer
cześć, taki sam stary, taki sam stary ... :)
Mam formularz o nazwie <form id="testForm" action="javascript:test()">
i obszar kodu o nazwie<code id="testArea"></code>
Korzystam z tego kodu, aby skreślić i wyświetlić dane w obszarze kodu:
var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');
Chcę wysłać te dane do pliku JSON. Pracowałem nad tym projektem: http://ridegrab.com/profile_old/ i jeśli naciśniesz Submit Query
przycisk, zobaczysz, że nagłówek strony zapełni się.
Również chcę użyć tego skryptu do wysyłania danych:
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!");
}
})
}
Znowu wszystko, czego chcę, to móc wysłać te dane JSON na serwer. Mój serwer jest skonfigurowany do update or POST
danych we właściwym miejscu.
data
zdata: value,
... !! ??error
funkcję, czy zostanie wywołana? Jeśli tak, to z jakim błędem?Odpowiedzi:
„dane” powinny być strunkowym obiektem JavaScript:
Aby wysłać
formData
, przekaż go dostringify
:Niektóre serwery wymagają również
application/json
typu zawartości:Istnieje również bardziej szczegółowa odpowiedź na podobne pytanie: Jquery Ajax Posting json w serwisie internetowym
źródło
{ foo: [1,2,3], bar: 'baz' }
. Zostanie to zakodowane w formie jakofoo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=3&bar=baz
(nieskalowane, tofoo[]=1&foo[]=2&foo[]=3&bar=baz
). Prawdopodobnie nie to, co chcesz po stronie serwera.Publikujesz JSON w ten sposób
jeśli podasz obiekt jako settings.data jQuery skonwertuje go na parametry zapytania i domyślnie wyśle z typem danych application / x-www-form-urlencoded; charset = UTF-8, prawdopodobnie nie to, czego chcesz
źródło
data
w żadnym wypadku nie przetworzy łańcuchaJeśli wysyłasz to żądanie do posta między domenami, powinieneś sprawdzić ten link.
https://stackoverflow.com/a/1320708/969984
Twój serwer nie przyjmuje prośby o wysłanie wiadomości do różnych witryn. Tak więc konfiguracja serwera musi zostać zmieniona, aby umożliwić żądania między lokacjami.
źródło