我有这些文本输入,其中预加载了有关文档加载的用户信息。我的输入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');
}
但是有一个更新 btn,当我单击它时,它会将 $.post 发送到另一个函数。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。