JQuery размещение JSON

update: я хотел бы передать var value на сервер

привет, такой же старый, такой же старый...:)

У меня есть форма под названием <form id="testForm" action="javascript:test()"> и область кода, называемая <code id="testArea"></code>

Я использую этот код для строения и отображения данных в области кода:

var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');

Я хочу отправить эти данные в файл JSON. Я работал над этим проектом: http://ridegrab.com/profile_old/, и если вы нажмете кнопку Submit Query, вы увидите, что заголовок страницы заполняется.

Также я хочу использовать этот кусок script для отправки данных:

    function authenticate(userName, password) {
    $.ajax
    ({
        type: "POST",
        //the url where you want to sent the userName and password to
        url: 'username:[email protected] 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!"); 
        }
    })
}

Опять же, все, что я хочу, - это возможность отправлять эти данные JSON на сервер. Мой сервер настроен на update or POST данные в нужном месте.

Ответ 1

'data' должен быть строгим JavaScript-объектом:

data: JSON.stringify({ "userName": userName, "password" : password })

Чтобы отправить formData, перейдите к stringify:

data: JSON.stringify(formData)

Для некоторых серверов также требуется тип содержимого application/json:

contentType: 'application/json'

Здесь также более подробный ответ на аналогичный вопрос: Jquery Ajax Проводка json в webservice

Ответ 2

Вы публикуете JSON, как этот

$.ajax(url, {
    data : JSON.stringify(myJSObject),
    contentType : 'application/json',
    type : 'POST',
    ...

если вы передаете объект как settings.data. jQuery будет преобразовывать его в параметры запроса и по умолчанию отправлять с помощью приложения типа данных /x -www-form-urlencoded; charset = UTF-8, возможно, не то, что вы хотите

Ответ 3

Если вы отправляете этот почтовый запрос в кросс-домен, вы должны проверить эту ссылку.

fooobar.com/info/32841/...

Ваш сервер не принимает запрос на отправку через сайт. Поэтому необходимо изменить конфигурацию сервера, чтобы разрешить запросы на межсайтовый сайт.