以下は、postを介してajax呼び出しを行う私のjavascript関数です。ファイルの場所とファイルの内容を、ファイルを保存するphpページに送信します。ユーザーがリモートサーバーに手動でログインして編集を行い、編集内容をsrcコントロールに送信して各アプリケーションに取り込む代わりに、ブラウザーを介して小さなアプリケーションの構成ファイルテンプレートを管理できるようにするという考え方です(このページではすべて自動化されています)このajax呼び出しは、データをに投稿します)。
私の問題はfilelocにあります。filelocを投稿し、dir構造をそのまま維持するためのajax呼び出しを取得できません。これらの関数のescape()、encodeURI()、encodeURIComponent()、およびJQueryのバージョンを試しました。何があっても、私のfilelocはsaveConfigTemplates.phpページに「D:TestPHPconfigurationautomationtemplatesservernamefilename.cfg」として表示されます。私はphpのデコードを試しましたが、違いはありません...投稿がすべてのエンコーディングを失い、単一のスラッシュをエスケープ文字として扱うようなものです。私を狂わせて、どんな提案も大歓迎です。
function saveFile(){
var fileContents = $("#fileContent").val();
alert(fileContents);
var fileloc = "D:\TestPHP\configuration\automation\templates\servername\filename.cfg";
var fileconts = "fileloc="+encodeURIComponent(fileloc)+"&fileconts="+fileContents;
$.ajax({
type: "POST",
url: "saveConfigTemplates.php",
data: fileconts,
success: function(data) {
alert(data);
}
});
}