jquery $ .getScript()..如何将外部js文件中的数据导入数组

时间:2015-11-05 02:36:28

标签: php jquery ajax

我尝试将数据放入js文件,通过" jquery $ .post"和" fwrite php",并将该数据恢复到数组中。怎么做?

这里是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,我把它命名为&#34; processing.php&#34; :

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

&#34; talk.js&#34;会是这样的:

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

为什么我无法从&#34; talk.js&#34;中提取数据?进入数组&#34; var arr = [$ .getScript(&#34; talk.js&#34;)]; &#34;如上面的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);
?>

但它仍然不起作用?

1 个答案:

答案 0 :(得分:0)

这是按钮点击的简化版本,可以帮助您:

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

如果您记录$.getScript的输出,您将很容易理解为什么您尝试的不起作用。

使用此方法,您将获得从脚本("a","b","c")返回的数据,但您需要将逗号split放入数组中。然后你可以引用你想要的数组中的任何一部分。

请注意,数组的每个元素都有引号。