Javascript 使用ajax后如何更新我的数据库?

Javascript 使用ajax后如何更新我的数据库?,javascript,php,jquery,ajax,yii,Javascript,Php,Jquery,Ajax,Yii,我第一次使用JavaScript/AJAX,所以我试图找出一些最佳实践 现在,在我的视图中,我显示一个datatable,然后在调用外部服务器时返回一个值(在本例中为accounts balance)。我更新数据表 现在,这是完美的工作,但我遇到了一个问题。我还想用找到的新“余额”更新我的数据库。但是,我想在ajax调用完成后再这样做 我应该在视图中的ajax调用中的某个地方这样做吗?(感觉不对)还是应该将此更新插入正在调用的php文件中 下面是view/ajax调用: <script&g

我第一次使用JavaScript/AJAX,所以我试图找出一些最佳实践

现在,在我的视图中,我显示一个datatable,然后在调用外部服务器时返回一个值(在本例中为accounts balance)。我更新数据表

现在,这是完美的工作,但我遇到了一个问题。我还想用找到的新“余额”更新我的数据库。但是,我想在ajax调用完成后再这样做

我应该在视图中的ajax调用中的某个地方这样做吗?(感觉不对)还是应该将此更新插入正在调用的php文件中

下面是view/ajax调用:

<script>
function getBalance(){
    $.get("assets/balance.php", "", function(data){

        $('#balance').html(data);
        // alert(data);
    });
}
getBalance();
</script> 

我应该在传入数据的地方执行此操作吗?

运行代码时会出现什么问题?我会在ajax调用中执行此操作。也许你想发送content lenght header,刷新输出,然后执行“longer”操作。因此,这没有问题,但我正在尝试确定是应该在视图中更新我的数据库(在那里我进行ajax调用),还是应该在balance.php中进行更新,这是调用的函数。但是,如果有人禁用了javascript,那么我根本无法更新我的数据库。那么我应该在控制器中进行此更新吗?因为您正在寻找最佳实践,所以我建议如下:您应该首先更新数据库,然后从数据库中获取要显示在视图中的值。这样,您就不会冒显示可能从视图中消失的值的风险,因为该值没有存储。此外,您可能会考虑不使用Ajax进行此操作,而是加载数据服务器端,然后仅从数据库中取出视图。
<?php 
include "../protected/components/helpers.php";
    /**
    *@method CheckBalance() : this  method helps to get the balance info of the tigo cash subscriber using tigo rwanda middleware
    *@param string  $msisdn : this is the mobile number of the tigo cash subscriber
    *@param string $pin    : this is the pin number of the tigo cash account 
    *@return returns the decoded answer either as the balance (int) or a warning (string)
    */
    function BalanceCall($msisdn,$pin){

        //Store your XML Request in a variable
        $input_xml = '<soapenv:Envelope>...';

        // returns a long xml string reply
        $xmlstring = curl_exec($soap_do);

        // this returns either the balance (int) or an error (string)
        return $result = Helpers::decodeBalanceString($xmlstring);
    }

    echo $result = BalanceCall($msisdn, $pin);
?> 
$.get(URL,data,function(data,status,xhr),dataType)