【发布时间】:2011-10-10 13:23:26
【问题描述】:
我正在尝试使用 jquery/codeigniter 发出 ajax 请求。嗯,好像有问题。我确实让它工作了,但似乎由于某种原因没有发送 POST...
Javascript
$('#profileUpdateButton').click(function() {
$.ajax({ // Starter Ajax Call
method: "POST",
url: baseurl + 'profile/statusUpdate',
data: $('#statusUpdateForm').serialize(),
success: function(data) {
alert(data);
}
});
return false;
});
来自 codeigniter 控制器
if($this->input->is_ajax_request()) {
echo $this->input->post('profileUpdate');
}
如果我用 echo "Hello" 替换 "echo $this->" 等,我会得到一个带有 "Hello" 的警报框,为什么我不能从框中获取文本?
html
<div id="statusUpdate">
<?php echo form_open(base_url() . 'profile/statusUpdate', array('name' => 'statusUpdateForm')); ?>
<input type="text" value="Hva tenker du på?" name="profileUpdate" id="profileUpdate" onfocus="if(this.value == 'Hva tenker du på?')this.value=''" onblur="if(this.value == '')this.value='Hva tenker du på?'" />
<input type="submit" value="" name="profileUpdateButton" id="profileUpdateButton" />
<?php echo form_close(); ?>
</div>
【问题讨论】:
-
您是否尝试过提醒 $('#statusUpdateForm').serialize() 进入点击事件处理程序?
-
运行
var_dump($_POST)时发生了什么?应该是您的默认调试工具之一:php.net/manual/en/function.var-dump.php -
如果我 var_dump 我得到 array(0){} 和警报 $('#statusUpdateForm').serialize() 给我prntscr.com/2ecwh
标签: javascript ajax codeigniter frameworks