0

以下は、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);

             }
            });

        }
4

1 に答える 1

2

バックスラッシュをエスケープします。

var fileloc = "D:\\TestPHP\\configuration\\automation\\templates\\servername\\filename.cfg";
于 2012-08-31T14:45:26.570 に答える