簡體   English   中英

php ajax javascript / ecmascript html寫入文本文件

[英]php ajax javascript/ecmascript html write to text file

我對上述技術沒有過多的經驗,但是需要解決我在使用POST功能時遇到的問題。

<!DOCTYPE html>
<html>

<head>
    <title>ajax</title>
    <meta charset='UTF-8'>
    <script src='lib/ajaxget.js'></script>
    <script src='lib/ajaxput.js'></script>
</head>

<body>
    <h1>blah</h1>
    <div>AJAX uploads go here.</div>
    <div id="grabphpdiv"> AJAX uploads from PHP go here.</div>
    <br>
    <textarea id="comment" rows="5" cols="40"></textarea>
    <br>
    <button id="put">put</button>
    <br>
    <br>
    <button id="get">get</button>
    <script src='dyn.js'></script>
</body>

</html>

JS的“ GET”功能正在運行,因此這是不起作用的POST(控制台中沒有錯誤),但是文本文件並未更新...

function AjaxPut(URL, callback)
{   var ajaxObj = new XMLHttpRequest();
    ajaxObj.open("POST", URL, true);
    ajaxObj.onreadystatechange = function()
        {   if (ajaxObj.status == 200)
                if (ajaxObj.readyState == 4)
                    callback(ajaxObj.responseText);
        };
    ajaxObj.send("somestuff");
};

還有該帖子的PHP(盡管此處標題為PUT)

<?php
$jothandle = fopen("jots.txt","w");
fwrite($jothandle,$_REQUEST['line']);

最后,這是位於HTML底部的名為“ dyn.js”的JavaScript。 (盡管為了簡潔起見,我只粘貼了POST部分。

var y = document.getElementById("put");
y.addEventListener("click", runapi1);
y.addEventListener("click", grabphp1);

function runapi1()
    {   AjaxPut('api/put.php', grabphp1);}
function grabphp1(response)
    {   document.getElementById('grabphpdiv').innerHTML = response; }

任何幫助或指針將是非常非常感謝! 謝謝!

看來您沒有從JS發送一個名為line的參數,但是您期望PHP代碼中有一個參數。 嘗試發送此代替: line=somestuff例如

ajaxObj.send("line=somestuff");

使用XMLHttpRequest發送POST數據

暫無
暫無

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

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