Получить данные с помощью POST и AJAX - PullRequest
1 голос
/ 09 мая 2011

Я пытаюсь отправить некоторые данные на моем сервере асинхронно, используя AJAX.Мне нужно отправить данные, используя метод POST, потому что отправленные данные содержат довольно много символов, а при использовании GET созданный URL будет слишком большимНу, это не проблема, но по эстетическим причинам я предпочел бы иметь небольшие URL-адреса.Для этого я использовал решение (вопрос), объясненное здесь .

Мой код Javascript, отправляющий данные:

   var code = "code=" + document.getElementById("code_area").value;
   xmlhttp.open("POST", "run_code.php", true);
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.send(code);

Код выше выполняется,Я нажимаю кнопку, но затем URL-адрес меняется на: localhost/code.php?code=datadatadatadatadatadatadatadatadatadatadatadatadatadata, что, похоже, ничем не отличается от использования GET (мой URL стал довольно большим).Я использовал POST, а не GET, но, похоже, данные передаются по URL.Есть идеи, почему это происходит?

Ответы [ 3 ]

1 голос
/ 09 мая 2011

Вы можете сделать это намного проще, используя jQuery.

$.post("run_code.php", { code: $("#code_area").val() });

Ссылки:

0 голосов
/ 11 мая 2011

В конце концов, проблема заключалась в том, что я использовал поле ввода для отправки на моей HTML-странице, например:

<input type="submit" />

, которое при использовании меняло (обновляло) URL.

Используя:

<input type="button" />

проблема была исправлена.

0 голосов
/ 09 мая 2011

С jquery намного проще ...

$.post( 'yoururlhere.com/phppage',
        {code:$("#code_area").val()},
        function(responseData){
            // responseData is the echo'd data set from your php page
        }, 'json'
);

данные в {} - это пары KV после записи

responseData - набор данных, возвращенный эхом назад из php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...