$ .ajax () методы данные - PullRequest
1 голос
/ 19 мая 2009

У меня есть несколько тегов div, которые я хочу вставить в базу данных. Как люди предполагают, я использую $.ajax POST для вставки. Поскольку я новичок в JQuery и Ajax, я не знаю, что на самом деле эти данные и сообщения в $ .ajax (). Пожалуйста, объясните, как вставить мое значение в базу данных асинхронно (на лету)

            $(".div"+increment).change(function(){
                   $.ajax({
                     type: "POST",
                     url: "./server",
                     data: "name=John&location=Boston",
                     success: function(msg){
                     alert( "Data Saved: " + msg);
                          }
                })


               });

Ответы [ 3 ]

3 голосов
/ 19 мая 2009

Атрибут данных должен быть объектом

            $(".div"+increment).change(function(){
               $.ajax({
                 type: "POST",
                 url: "./server",
                 data: {name:"John", location:"Boston"},
                 success: function(msg){
                 alert( "Data Saved: " + msg);
                      }
            })


           });

На стороне сервера просто извлекайте параметры записи как обычно. Например, в php вы должны сделать что-то вроде $ _POST («имя») и $ _POST («местоположение»). Ответ, сгенерированный PHP, будет выглядеть как msg. Таким образом, вы можете просто повторить «Сохранить операцию успешно» в вашем PHP-скрипте после выполнения вставки.

1 голос
/ 19 мая 2009

Вы можете использовать вместо $. Post . Это проще в обращении. Недостатком является то, что он не предлагает уведомление об ошибке.

0 голосов
/ 19 мая 2009

Когда вы говорите «вставьте мое значение в базу данных асинхронно .... (на лету)», я надеюсь, что вы имеете в виду «вставить в базу данных, точка».

POST-запрос (либо $ .ajax (), либо $ .post ()) может отправить ваши данные только с клиента на ваш сервер.

Для вставки вам потребуется написать код на стороне сервера.

Допустим, у вас на сервере есть скрипт с именем "do-inserttion.php", который может вставлять данные в базу данных, если ему переданы переменные POST "name" и "location".

Итак, вы бы написали (наверное, вы уже это знаете):

$.post( "do-insertion.php", {"name":"John", "location":"SF"}, function(data){alert("got response="+data);} );

Важно то, что вы пишете в коде на стороне сервера. Я предполагаю, что PHP, так что вы должны использовать mysql API для php и вставлять свои данные в вашу базу данных.

конечно, вы можете прочитать поданные данные как

$name=$_POST['name'];

$location=$_POST['location'];

Это относится только к PHP; другие языки будут иметь другие методы, чтобы делать все.


Кстати, вы имели в виду что-то особенное под "асинхронно ... (на лету)" в своем вопросе?

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