2015-11-05 225 views
0

我嘗試通過「jquery $ .post」和「fwrite php」將數據放入js文件中,並將該數據返回到數組中。怎麼做?

這裏的HTML:

<!doctype html> 
<html> 
<head> 
<script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
<script> 
    $(document).ready(function() { 

     $("#button").click(function() { 

      if ($("#nameput").val() != "") { 
       $.post("processing.php", { 
        putname: $("#nameput").val() 
       }); 

       var arr = [$.getScript("talk.js")]; 

       alert(arr[0]); 
      } 
     }) 
    }) 
</script> 
</head> 
<body> 

    <input type="text" id="nameput" /> 

    <button id="button">send AJAX req</button> 

</body> 
</html> 

這裏是PHP,我命名爲 「processing.php」:

<?php 
    $file = fopen("talk.js","a"); 
    $text = $_POST["putname"]; 
    fwrite($file,'"'.$text.'",'); 
    fclose($file); 
?> 

和 「talk.js」 看起來就像這樣:

"a","b","c", 

爲什麼我不能將數據從「talk.js」放到「var arr = [$ .getScript(」talk.js「)];」的數組中?「如上面的html文件中所示?

下面是我閱讀評論後嘗試的內容。我改變scirpt到這一點:

<script> 
$(document).ready(function() { 

    $("#button").click(function() { 

     if ($("#nameput").val() != "") { 
      $.post("processing.php", { 
       putname: $("#nameput").val() 
      }, function() { 
       $.getScript("talk.js", function(data) { 
        var arr = data.split(","); 
        alert(arr[0]); 

       }) 


      }) 


     } 

    }) 
}) 
</script> 

和PHP這個:

<?php 
    $file = fopen("talk.js","a"); 
    $text = $_POST["putname"]; 
    fwrite($file,$text); 
    fclose($file); 
?> 

但它仍然無法正常工作?

+0

我發現它..我把** js **文件改成** txt **,並使用'$(selector).load()'方法使它**溢出**表文本。我認爲$ .getScript僅用於加載腳本。謝謝你們! –

回答

0

,這裏是你按鍵的簡化版本,請點擊爲您排憂解難:

$("#button").click(function() { 
    $.getScript("talk.js", function(data){ 
     var arr = data.split(','); 
     alert(arr[0]); 
    }); 
}); 

如果你登錄的$.getScript輸出你會很容易看到爲什麼你想什麼行不通。

使用此方法,您將獲得從腳本("a","b","c")返回的數據,但您需要將split以逗號分隔到數組中。然後你可以參考你想要的數組的任何部分。

請注意,數組中的每個元素將在它們周圍有引號。

+0

所以我改變了我的腳本到這個''**和PHP到這個**'<?PHP的 \t $文件=的fopen( 「talk.js」, 「一個」); \t $ text = $ _POST [「putname」]; \t fwrite($ file,$ text); \t fclose($ file); ?>'但警報不會顯示? –

+0

您應該在'$ .post'中的成功回調中啓動'$ .getScript'請求,以確保在嘗試下載'talk.js'之前PHP腳本已成功執行。 – FelisCatus

+0

你是這個意思嗎? ''但它仍然無法正常工作,, –