Isu dalam menukar fail teks sisi pelayan yang dijana TypeScript/Angular klien
<p>"Masalahnya ialah saya cuba menulis kandungan teks ke fail sebelah pelayan melalui permintaan yang dimulakan oleh penyemak imbas Klien. NOTA: Ini sudah agak lama sejak saya mengusahakan TypeScript/PHP /Pelayan, jadi Tolong jangan menganggap saya tahu segala-galanya secara lalai :) Saya menyesuaikannya daripada kod saya sendiri: /issue/11240996/Output JavaScript ke File -server<br /><br /> satu menggunakan PHP Kod untuk mencipta fail "h.txt" pada bahagian pelayan memang mencipta fail kosong "h.txt", tetapi kandungannya "456" tidak pernah ditulis: Saya tidak pernah mendapat mesej ralat tentang sebabnya."456"是文件的内容,</p><p><br /></p>
<h2>服务器端</h2>
<pre class="brush:php;toolbar:false;">//Kod PHP: (Sedikit rumit, tetapi ia sepatutnya berfungsi)
//h.txt dicipta, tetapi kandungannya tidak pernah ditulis: masalah baca sahaja?? Saya tidak dapat mencari cara untuk melihat sama ada //fail itu dibaca sahaja atau tidak)
//Kod php terletak pada Pelayan
<?php
fungsi getData() {
$myFile = fopen("h.txt", "w");
fclose($myFile);
tidur(5);
//kembali "pautan ke h.txt";
}
getData();
// Cuba untuk mengembalikan nilai yang berbeza untuk URL di bawah:
// "h.txt" dicipta, tetapi kandungannya "456" tidak pernah // ditulis
kembalikan "URL ke h.txt";
?></pra>
<pre class="brush:php;toolbar:false;">//Di sebelah Klien saya mempunyai kod berikut:
//Klien ditulis dalam Angular, dan fungsi yang mencetuskan pertukaran data dengan pelayan
testWriteToServerFile() {
let data: string = "456";// ini adalah data anda yang ingin anda hantar ke pelayan
//seterusnya anda akan memulakan XMLHTTPRequest seperti berikut (mungkin lebih maju):
var url = url ke kod PHP sebelah pelayan yang akan menerima data.
var http = XMLHttpRequest();
http.open("POST", url, true);
//Hantar maklumat pengepala yang betul bersama-sama dengan permintaan
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", data.length.toString());
http.setRequestHeader("Sambungan", "tutup");
http.onreadystatechange = function() {//Panggil fungsi apabila keadaan berubah.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);//semak sama ada data berjaya diterima.
}
}
http.send(data);
}</pre>
<p>(我试图包括适当的链接到服务器等,但这篇文章被归类为垃圾邮件 /?)<gt;<gt;上的h.txt对客户端是只读的问题吗?解决方案是什么?<br /><br />我希望能够将文本写入服务器上<gt.txt< <br / ></p>