需要帮助修改javascript(将php值插入其中)

时间:2013-03-21 13:14:52

标签: php javascript jquery

得到这个从txt文件中读取数据(url)的javascript,然后将每个url放在一个框架中,计算在iframe中加载该url所花费的时间,然后将结果显示为html div

以下是代码:

<script type="text/javascript">
   $.get("imones.txt", function (data) {
        var array = data.split(/\r\n|\r|\n/);
        var beforeLoad = (new Date()).getTime(); 
        var loadTimes = []; 
            var beforeTimes = [];               
        $('#frame_id').on('load', function () {                                 
            beforeTimes.push(beforeLoad);
            loadTimes.push((new Date()).getTime()); 
            $('#frame_id').attr('src', array.shift());
                try {
                $.each(loadTimes, function (index, value) { 
                    var result = (value - beforeTimes[index]) / 1000; 
                        if (result < 0) { 
                            result = result * (-1);
                        }
                    $("#loadingtime" + [index]).html(result);                       
                    beforeLoad = value; 
                });
                } catch(ex) {}
        }).attr('src', array.shift()); 
    });
</script>

imones.txt上面写有数据 - example1.com, example2.com等等。我没有读取这个imones.txt文件,而是想用php数组替换它:

$url_array = array();
$url_array[] = 'example1.com';
$url_array[] = 'example2.com';

然后我不想将结果显示到html div($("#loadingtime" + [index]).html(result);)中,而是将结果放入另一个php数组中:

$php_array[] = $("#loadingtime" + [index]).html(result);

有人可以帮我这么做吗?

1 个答案:

答案 0 :(得分:0)

解决这个问题:

// frontend
$.get(
    "path_to_get_url_array", // server function
    function(url_array){ // this receive your $url_array data
        $.each(url_array, function(i, item) {
            // run your code over item to calculate time

            // save loadingtime
            var loadingtime = '';
            $.post(
                    "path_to_save_loadingtime", // server function
                    {
                        loadingtime = $("#loadingtime" + [index]).html(result);
                    }
            });
    }, 'json');

// backend get_url_array
function get_url_array()
{
    // get $url_array from somewhere
    echo json_encode($url_array);
    exit;
}

// backend save_loadingtime
function save_loadingtime()
{
    $loadingtime = $_REQUEST['loadingtime'];
    // save $loadingtime to db
}

// when you want acess you data get it 
function create_array()
{
    // read all $loadingtime values from db     
    // populate $php_array
    return $php_array;
}