2012-02-21 16 views
0

私は、FTP経由で接続せずにjavascriptファイルを変更しようとしています。したがって、テキストエリアを使用しています。ここでコードを入力して送信し、テキストボックスの内容はサーバー上のファイル(ここではender.jsという)に保存されます。php fwrite - で変数。ファイルを変更しないでください

<form> 
    <textarea id="result" rows="50" cols="150"></textarea> 
    <input id="submit_btn" type="submit" value="Submit"/> 
    </form> 

ではJavaScript:

$('#submit_btn').click(function() { 
     //alert("Handler for .click() called."); 
     $.ajax({ 
      type: 'POST', 
      url: 'opener.php', 
      data: {test: $('#result').val()}, 
      success: function() { 
      $('#result').load('js/ender.js'); 
      alert('Load was performed.'); 
      }, 
      error: function() { 
      alert('error in: ' + settings.url + ' \n'+'error:\n' + xhr.responseText); 
      } 

     }); 
    }); 

PHP:

<?php 
    //echo $_POST['test']; 
    $fp = fopen('js/ender.js', 'w'); 
    fwrite($fp, $_POST['test']); 
    fclose($fp); 
?> 

場合、ここ

HTMLは(私はjqueryのを使用しています)JavaScriptとPHP、私のhtmlのですテキストエリアにはaが含まれます。 (ポイントカンマ)ファイルは変更されません。何故ですか?

* 編集*

間違いは、JavaScriptのファイルにありました。 「;」

data: {test: $('#result').val()}, 

は、テキストエリアがポイントカンマが含まれている場合しかし、私はまだ問題がある

data: {'test': $('#result').val()}, 

されている必要があります

+1

は、あなたは、Webサーバのユーザに書き込み権限を与えているよろしいですサーバー上のjs/ender.js上で(通常はunits上のwww-データとして)実行されていますか?あなたは$ fpがnullでないことをチェックしません。 –

+0

私は100%書き込み権限がOKであることを確信しています。 (投稿を少し編集しました) – Jozzeh

答えて

2

これはブラウザにキャッシュされているためです。私も同様の問題がありました。ランダムな名前またはIMO js/ender.js?rnd=123123

+3

、またはajaxパラメータキャッシュを追加することができます:false – Vytautas

0

のようなパラメータを指定してファイル名を変更しよう:これはそれを行うには良い方法です:

<form id="myform" name="myform"> 
    <textarea name="result" id="result" rows="50" cols="150"></textarea> 
    <input id="submit_btn" type="submit" value="Submit"/> 
</form> 

$('#submit_btn').click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'opener.php', 
     data: $('#myform').serialize(), 
     success: function() { 
     $('#result').load('js/ender.js'); 
     alert('Load was performed.'); 
     }, 
     error: function() { 
     alert('error in: ' + settings.url + ' \n'+'error:\n' + xhr.responseText); 
     } 

    }); 
}); 
関連する問題