Ajax调用一个url冻结浏览器

时间:2015-07-16 06:35:43

标签: javascript php jquery ajax

我在视图中有一个函数用于将值从文本框传输到页面上显示的表。基本上它会更新URL并进入名为update_verified_phone()的函数。还有另一个函数用于使用名为user_info_model()的模型更新记录,并使用名为users_info()的控制器。

问题是当我使用AJAX函数发布到名为update_verified_phone()的控制器函数时,浏览器会冻结并挂起。我想知道为什么会这样?

对不起刚刚接触AJAX。

以下是代码:

$(document).ready(function() 
    {
        $('#btnVerify').click(function(event)
        {
            event.preventDefault();
            var uid = $('#user_id').val();
            var verified_phone = $('#textNum').val();
            if (isNaN(verified_phone)) 
            {
               alert("Please enter only numbers for user verified_phone");
            }
            else
            {  
                $('#textNum').val('');
                //$.post(base_url+'users_info/update_verified_phone', {uid:user_id,verified_phone:textNum}, function(response)
                //{
                $.ajax
                ({
                    type: "POST",
                    url:base_url+'users_info/update_verified_phone',
                    data: {uid:user_id,verified_phone:textNum},
                    //async: true,
                    dataType: 'json',
                    success:function(data)
                    {
                        if(data)
                       {   

                           var headingHtml = headingTemplate
                               ({
                                   'verified_phone':data[0].verified_phone,
                                   'verified_timestamp':data[0].verified_time
                               });
                               $('.userinfo').html(headingHtml);
                               $('.userinfo tr td:eq(4)').html(data[0].verified_phone);
                               $('.userinfo tr td:eq(5)').html(data[0].verified_time);
                       }
                    }

                });
            }
        });
    });

2 个答案:

答案 0 :(得分:0)

我认为您错过了指定JS变量base_url来纠正它。之后,一旦您通过浏览器地址栏的直接命中检查您的AJAX请求URL响应,并检查问题是否存在。

如果您需要更多相关信息,请与我们联系。

谢谢!

答案 1 :(得分:0)

这很难,但我试着解决它。

查询1:使用SELECT语句

插入查询
//If history_verified_phone:id is auto incremental then no need to cover it into INSERT statement so removed.
$instVerified = "INSERT INTO history_verified_phone(lastverified_phone,lastverified_time,verified_phone,verified_time) 
SELECT users.verified_phone,users.verified_time,'". $textNum ."',NOW() FROM users WHERE id = '". $user_id ."'";

查询2:更新查询

$updtUser = "UPDATE users SET verified_phone = '" . $textNum . "', verified_time = NOW() WHERE id = '" . $user_id . "'";

查询3:选择查询

$selUser = "SELECT verified_phone,verified_time from users WHERE id = '" . $user_id . "'";

请将变量替换为您的查询,$instVerified替换查询1,$updtUser替换查询2,$selUser替换查询3,之后请检查发生了什么。因为我对您的查询有疑问可能会失败,这就是问题的原因。

请告诉我这里的结果是什么。