使用多个回调执行多个php脚本

时间:2013-10-30 11:13:11

标签: javascript php jquery html ajax

实际上我有10个php脚本(getlatest_t_s2.php,getlatest_h_s3.php ...)并在10个单独的javascripts中执行它们并从回调函数中获取id。让我们看看我的意思。

HTML

<td>Temperature</td>
<td align="right"><div id="last_temp_s2"></div></td>

JS

var scriptToExecute="getlatest_t_s2.php";//php script

//any data that you might want to send to the php script.
var data ='anyData';

//call ajax function
makeAjaxRequest(scriptToExecute,data,callBack);
function callBack(data){
    $('#last_temp_s2').html(data);
}

function makeAjaxRequest(url,data,_callBack,_failure){
    $.ajax({
        url: '../php/',
        datatype:"php",
        type:'get',
        data: data,
        success:function(data){
            _callBack(data);
        },
        error:function(jqXHR, textStatus, errorThrown){
            if(!_failure){
                console.log(errorThrown);
            }
            else
            {
                _failure(jqXHR,textStatus,errorThrown);
            }
        }
    });
}

所以我的问题是,不是为每个php脚本执行10个不同的javascripts,而是可以只执行一个javascript或至少少于10个?

1 个答案:

答案 0 :(得分:0)

我建议创建一个结构良好的PHP文件,在其中,您将所有数据处理成一个数组,然后将该数组(json encode($array))发送到您的JS,然后可以处理所有数据JSON。

如果很多人正在访问您的网站,那么您向10个行文件发送10个请求的事实会产生很多服务器负载,因此一个文件将极大地优化您的网站加载速度,这对SEO以及您的访问者,无需等待1,可能需要2秒才能收到服务器的响应。

现代浏览器都有解析JSON的本机方法,jQuery也是如此,所以你应该通过JS以任何方式处理JSON数据。

积分 Guilherme Sehn已经明确指出这一点。