Проблема реализации JQuery AJAX

0

Я работаю над index.php. На индексной странице мой PHP-код генерирует столбцы и строки (таблица) в html. Я новичок в JQuery.

Пример таблицы PHP сгенерированный

ID | Username | Status | Action 
1     Demo        No      Install button
2     Smith       No      Install button
3     Edward      No      Install button
4     Admin       No      Install button

В столбце "Действие" я добавил кнопку " Install. Итак, мой план - вызвать update.php с помощью JQuery AJAX POST при нажатии кнопки Install.

Страница обновления с переменной POST:

1) id 
2) action 
3) flag

Теперь, что я сделал до сих пор.

Следующий код генерируется моим PHP-кодом (код RAW, для понимания)

<input type='hidden' name='id' id='1' value='1'>
<a href class='blue' href='' id='1'>Install</a>
<input type='hidden' name='id' id='2' value='2'>
<a href class='blue' href='' id='2'>Install</a>
<input type='hidden' name='id' id='3' value='3'>
<a href class='blue' href='' id='3'>Install</a>
<input type='hidden' name='id' id='4' value='4'>
<a href class='blue' href='' id='4'>Install</a>

Проблема заключается в том, как я могу создать JQuery AJAX POST url, который будет отправлять данные типа

update.php?id=1&action=install&flag=1

Пожалуйста, предложите мне.

  • 0
    Вы знаете о новых атрибутах данных HTML5? Если нет - попробуйте их, это круто. Вам не нужны входные данные для такой задачи, как эта
Теги:

6 ответов

2
Лучший ответ

Скажите, что это ваша кнопка

<input type="button" id="my_button" value="1">

$(document).ready(function () {
        $("#my_button").on('click',function () {//Your install button click
            var btInd = $(this).attr('value');
            $.ajax({
                type: "POST",
                url: "update.php",
                data: {"id":btInd,"action":"install","flag":1}, //You need to make changes if your values will change since i have hard coded the values                      
                success: function(response) {
                  alert('Success');
                }
        }); 
});

Поймайте запрос в update.php и сделайте все остальное.

  • 0
    Я генерирую много ID (строк / нескольких) на одной странице, и на странице будет много кнопок установки. Как я могу справиться с этой проблемой.
  • 0
    Любые причины для понижения голосов ...
Показать ещё 2 комментария
2

Попробуйте это

скрипт

$(document).ready(function () {
        $("button").click(function () {   // install button
            var id = $(this).attr("id");
           var action = "install";
            var flag = "1";      
            $.ajax({
                type: "POST",
                url: "update.php",
                data: {"id":id,"action":action,"flag":flag},                       
                success: function(response) {
                // do something
                }
        }); 
    });
});

Пример PHP

<?php
    include('config.php');

    if($_POST["action"]=="install"))
    {
        $id = $_POST['id']; //Here posted id
        $flag = $_POST['flag'];


    }
?>
  • 0
    Я генерирую много ID (строк / нескольких) на одной странице, и на странице будет много кнопок установки. Как я могу справиться с этой проблемой.
  • 1
    @ user2345691 да, каждая кнопка установки имеет уникальный идентификатор, когда происходит щелчок $(this).attr("id") внутри функции возвращает соответствующий идентификатор кнопки, так что это не проблема для обработки.
Показать ещё 2 комментария
1

попробуй это,

$.ajax({
    type: 'POST',
    url: 'update.php',
    data: {
        id:1,
        action:xx,
        flag:ff
    },
    success: function(response){
        console.log(response);
    }
});

для получения дополнительной информации см. эту ссылку

1
    $.post( "update.php", { id: "John", action: "delete",flag :"abc" })
   .done(function( data ) {
   alert( "Data Loaded: " + data );
   });
0

вы можете использовать метод jquery GET для публикации данных с помощью get..

  $.get("update.php?id=1&action=install&flag=1",function(data,status){
    alert("Data: " + data + "\nStatus: " + status);
  });

или вы можете отправлять данные по

  $.get("update.php",{id=1,action=install,flag=1},function(data,status){
    alert("Data: " + data + "\nStatus: " + status);
  });
0
$("#buttonID").live('click',function(){
   $.ajax({
            url: "../update.php",
            type: 'POST',
            data: { id: myId, action: myAction ,flag: myflag},
            dataType: 'xml',
            success: function (data) {

                alert("Great success");
            }
        });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню