0

これらのテキスト入力には、ドキュメントの読み込みに関するユーザー情報がプリロードされています。私の入力htmlは以下の通りです

<div class="control-group">
     <label class="control-label" for="first_name">First Name</label>
     <div class="controls">
         <input type="text" class="account" id="first_name" placeholder="First Name">
     </div>
</div>
<div class="control-group">
     <label class="control-label" for="inputEmail">Email</label>
     <div class="controls">
        <input type="text" class="account" id="inputEmail" placeholder="Email">
     </div>
</div>

私のプリロードは、jquery でこのようなもので、php 関数に $.post を実行します。入力要素が正しく入力されているため、これは正常に機能します。

function loadUserInfo()
{
    $.post('../accounts/load_user_info_ajax', null, function(data) {
        console.log(data.message);//Test to return user id

        var user = data.message;

        $('#inputEmail').val(user.email);
        $('#first_name').val(user.name);

    }, 'json');
}

ただし、クリックすると $.post が別の関数に送信される update btn があります。jqueryは以下の通り

$('.update').on('click',function(){

    var type = $(this).attr('id');

    if(type == "account")
    {
        postvars = {
                name:$('#first_name').val(),
                email : $('#inputEmail').val(),
            };
        url = '../accounts/update_user_account_ajax';
    }

    $.post(url, postvars, function(data) {

        console.log(data);//Test to return user id
        alert(data.message);
        var user = data.message;

    }, 'json');
});

まず、私はただ戻ってきます

function update_user_account_ajax()
{
    if ($this->input->is_ajax_request()) {

       echo json_encode("test");
    }else {
        show_404();
    }
}

しかし、何も起こらず、Chrome デバッガー ネットワークからも何も見えません。ページも更新され、? が追加されます。あなたに。助けてくれてありがとう。私はphpにcodeigniterを使用しています。

4

2 に答える 2

1

@Joel_Blumが言ったように、そしてこれも実行します。ページが再ロードされないようreturn false;に、関数の本体の最後に追加する必要があります。on('click',function(){ ...

于 2013-02-22T18:00:22.373 に答える
0

これを試して

url :  '<?php echo site_url("accounts/update_user_account_ajax")?>
于 2013-02-22T17:25:15.817 に答える