Использование Ajax для отправки данных обратно на сервер - PullRequest
0 голосов
/ 27 августа 2010

Я понимаю, что есть метод send для xmlHttpRequest объектов, но я работал над этим сайтом весь день, и я не могу найти какие-то приличные учебники по этому вопросу, и мой мозг чувствует себя как кашу.Ajax сложен.

Я пытаюсь отправить данные из одного файла Javascript обратно в скрипт PHP на сервере, где данные представляют собой просто строку и небольшое число.Это возможно?Почему я не могу найти хорошую статью на эту тему?

tl; dr Как использовать метод send для передачи строки и числа из файла javascript вphp файл?

Ответы [ 5 ]

8 голосов
/ 27 августа 2010

Почему вы не используете jQuery или подобную библиотеку?

Отправка переменных с помощью jQuery будет простой:

$.post("save.php", { name: "John", time: "2pm" } );

В вашем файле save.php вы можете обрабатывать переменные POST по своему усмотрению:

$name = $_POST["name"];
$time = $_POST["time"];

Вы можете проверить это: http://jquery.com/

Я думаю, что вы тратите свое время, пытаясь создать собственные методы ...

3 голосов
/ 27 августа 2010

Это определенно возможно.Это действительно хорошо организованный учебник , который проведет вас через объект XmlHttpRequest, как его настроить и как использовать его на сервере.

Код на стороне сервера - PHP,и я больше из C #, и это имело для меня смысл.(Может мне стоит перейти на PHP ??).

Надеюсь, это поможет!Удачи.

РЕДАКТИРОВАТЬ: В ответ на предыдущий вопрос SO я собрал этот jsfiddle , чтобы продемонстрировать, как использовать XmlHttpRequest.Надеюсь, это тоже поможет.

1 голос
/ 27 августа 2010

много хороших ссылок здесь, поэтому я не собираюсь добавлять к этому. Так же, как sidenote, вы имеете дело с легким случаем ajaxness здесь :) - обычно вы хотите отправить что-то обратно с сервера, который изменяет состояние страницы в ответ на то, что было отправлено со страницы в первом место (на самом деле можно спорить, зачем вам сначала нужен ajax, а не просто публиковать, если страница не должна меняться - но я вижу, как могут возникнуть ситуации, когда вы все равно захотите ajax). Я просто говорю, что, поскольку вы столкнетесь с большим количеством информации о том, как обращаться с вещами, отправленными с сервера, - просто убедитесь, что вы знаете, что это не нужно для того, что вы пытаетесь сделать (я Я всегда рад, когда я знаю, что я могу пропустить в первом проходе;)

1 голос
/ 27 августа 2010

шаг 1: получить JQuery. все, что вам нужно сделать, это загрузить последний файл и включить его на свою страницу.

шаг 2: сделать 2 файла:

somepage.html:

<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$.get("someScript.php", 
  // data to send if you want
  {
    'someVar' : 'someValue'
  },
  // receive and do something with response
  function(response){
    alert(response);
 } // function (response)
); // .get()
</script>

someScript.php

<?php
  echo $_GET['someVar'] . " response!";
?>

шаг 3: загрузите все свои файлы на свой сервер и перейдите по адресу somepage.html

Это все, что нужно сделать. Тем не менее, вы, как правило, помещаете этот код в какой-то вид щелчка или что-то еще, в зависимости от того, для чего вы хотите использовать ajax. Но комментарии там довольно понятны. jquery используется для создания ajax-запроса, с примером отправки данных в серверный скрипт, принимающий запрос (используя метод GET). Вы можете сделать что-нибудь в someScript.php, но в этом примере он просто возвращает отправленное вами значение. Затем jquery берет то, что выводит someScript.php, и просто выдает его во всплывающем окне.

0 голосов
/ 27 августа 2010

Используя jQuery, вы можете использовать post method :

$.post("test.php", { name: "John", number: 2 } );

За кулисами используется xmlHttpRequest, посмотрите на источник, чтобы увидеть, как они это делают.

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