簡體   English   中英

如何通過AJAX將數據從AJAX PHP結果傳遞到單獨的PHP函數?

[英]How do I pass data from an AJAX PHP result to a seperate PHP function through AJAX?

選擇屬於一個PHP文件的選項時,我的目標是將該選項的當前行ID傳遞給單獨的PHP文件,以便可以在其中使用它。

這是從我要獲取的文件中獲取的:

echo '<div id="folderContentTableContainer">';
echo '<table class="table table-searchable-asc">';
if (count($contents) > 0) {
// Start of table
foreach ($contents as $content) {
    echo '<tr>';
    echo '<td>' . $content['title'] . '</td>';
    echo '<td>' . $content['id'] . '</td>';
    echo '<td><a id="cloneContent" class="fa fa-clone"></a></td>';
    echo '<td><a id="removeContent" class="fa fa-trash"></a></td>';
    echo '</tr>';
}
} else {
// return nothing

現在,我要在單獨的PHP文件中使用$ content ['id']來查詢數據庫。

我目前正在這樣獲取文件內容:

$('#content').on('click', '#folderContainerUl li', function () {
    var id = event.target.id;
    $.ajax({
        url: '<?php echo ROOTDIR; ?>pages/ajax/getPasswordsFolderContent.php',
        type: 'POST',
        data: ({
            uuid: '<?php echo $_GET['uuid']; ?>',
            folder: id
        }),
        success: function (content) {
            $('#folders-content-container').html(content);

        }
    })
});

然后,文件內容將從getPasswordsFolders.php放入數據中,其中包括:

echo '<div id="folderUlContainer">';
echo '<ul id="folderContainerUl">';
foreach ($folders as $folder) {
$children = $mfdb->select('password_folders', '*', array('AND' => array('parent_id' => $folder['id']), 'ORDER' => 'title ASC'));
if (count($children) > 0) {
    echo '<li id="' . $folder['id'] . '">' . $folder['title'] . '</li>';
    echo '<ul>';
    foreach ($children as $child) {
        echo '<li id="' . $folder['id'] . '">' . $child['title'] . '</li>';
    }
    echo '</ul>';
    echo '</li>';
} else {
    echo '<li id="' . $folder['id'] . '">' . $folder['title'] . '</li>';
}
}
echo '</ul>';
echo '</div>';

首先,正如Rory McMcrossan所說,您正在復制ID,請嘗試使用類。

那么您可以發送ajax請求,如下所示:

$('.cloneContent').click(function(){
    var id = $(this).parent().prev().text();

    $.ajax({
        url:'your-url?id='+id,
        method:'get',
        ...
    });

    //OR

    $.ajax({
        url:'your-url',
        method:'post',
        data:{id:id},
        ...
    });
});

編輯:

為了簡化您的工作,您可以將id作為錨點a的屬性進行傳遞:

echo '<td><a class="fa fa-clone cloneContent" data="'.$content['id'].'"></a></td>';

因此,您現在可以通過以下方式獲取ID:

var id = $(this).attr('data');

而不是: var id = $(this).parent().prev().text();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM