我正在尝试使用 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 Controller
if($this->input->is_ajax_request()) {
echo $this->input->post('profileUpdate');
}
如果我将“echo $this->”等替换为 echo“Hello”,我确实会收到一个带有“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>
最佳答案
将您的 html 标记更改为此...
<div id="statusUpdate"> <!-- Use ID not NAME here |v| -->
<?php echo form_open(base_url() . 'profile/statusUpdate', array('id' => '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')
,这意味着statusUpdateForm的id,而不是名称属性...
关于javascript - Codeigniter ajax 请求输出失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782078/