atualização: eu gostaria de passar var value
para o servidor
ola, mesma idade, mesma idade ... :)
Eu tenho um formulário chamado <form id="testForm" action="javascript:test()">
e uma área de código chamada<code id="testArea"></code>
Estou usando esse código para stringify e exibir os dados na área de código:
var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');
O que eu quero é enviar esses dados para um arquivo JSON. Eu estou trabalhando neste projeto: http://ridegrab.com/profile_old/ e, se você pressionar o Submit Query
botão, verá o cabeçalho da página preenchido.
Também quero usar este pedaço de script para enviar dados:
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!");
}
})
}
Novamente, tudo o que eu quero é poder enviar esses dados JSON para o servidor. Meu servidor está configurado para update or POST
os dados no lugar certo.
data
pordata: value,
... !! ??error
função, ela será chamada? Se sim, com que erro?Respostas:
'data' deve ser um objeto JavaScript com string:
Para enviar o seu
formData
, passe-o parastringify
:Alguns servidores também exigem o
application/json
tipo de conteúdo:Também há uma resposta mais detalhada para uma pergunta semelhante aqui: Jquery Ajax Postando json no webservice
fonte
{ foo: [1,2,3], bar: 'baz' }
. Isso será codificado comofoo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=3&bar=baz
(sem escape, éfoo[]=1&foo[]=2&foo[]=3&bar=baz
). Provavelmente não é o que você deseja do lado do servidor.Você publica JSON assim
se você passar um objeto como settings.data, o jQuery o converterá em parâmetros de consulta e, por padrão, enviará com o tipo de dados application / x-www-form-urlencoded; charset = UTF-8, provavelmente não é o que você deseja
fonte
data
cadeia de caracteres em qualquer casoCaso você esteja enviando essa solicitação de postagem para um domínio cruzado, verifique este link.
https://stackoverflow.com/a/1320708/969984
Seu servidor não está aceitando a solicitação de postagem entre sites. Portanto, a configuração do servidor precisa ser alterada para permitir solicitações entre sites.
fonte