小编典典

通过AJAX将数据从localStorage发送到PHP并将其保存在HTML文件中

ajax

我想通过AJAX将字段数据从表单发送到文件,并且在网上找到了此解决方案:http : //techglimpse.com/pass-localstorage-
data-php-ajax-jquery/

唯一的问题是,我有多个字段而不是单个字段,并且我想将输出(localStorage)保存为HTML(或任何其他格式)文件,而不是将其显示在#output
div中。

我怎样才能做到这一点?

您可以在这里看到我已经完成的工作:使用AJAX将表单数据保存到PHP

这是我的HTML / JS代码:http :
//jsbin.com/iSorEYu/1/edit和PHP代码http://jsbin.com/OGIbEDuX/1/edit


阅读 183

收藏
2020-07-26

共1个答案

小编典典

PHP:

<h1>Below is the data retrieved from SERVER</h1>
<?php
    date_default_timezone_set('America/Chicago'); // CDT
    echo '<h2>Server Timezone : ' . date_default_timezone_get() . '</h2>';
    $current_date = date('d/m/Y == H:i:s ');
    print "<h2>Server Time : " . $current_date . "</h2>";

    $dataObject = $_POST; //Fetching all posts

    echo "<pre>"; //making the dump look nice in html.
    var_dump($dataObject);
    echo "</pre>";

        //Writes it as json to the file, you can transform it any way you want
    $json = json_encode($dataObject);
    file_put_contents('your_data.txt', $json);
?>

JS:

<script type="text/javascript">
$(document).ready(function(){
localStorage.clear();

$("form").on("submit", function() {
    if(window.localStorage!==undefined) {
        var fields = $(this).serialize();

        localStorage.setItem("eloqua-fields", JSON.stringify( fields ));
        alert("Stored Succesfully");
        $(this).find("input[type=text]").val("");
        alert("Now Passing stored data to Server through AJAX jQuery");
        $.ajax({
           type: "POST",
           url: "backend.php",         
           data: fields,
           success: function(data) {
              $('#output').html(data);
           }
        });
    } else {
        alert("Storage Failed. Try refreshing");
    }
});
});
</script>

注意: 如果要使用HTML格式的JSON数据,请在PHP代码中将your_data文件的文件格式替换为html。

2020-07-26