我有以下代码:
$(document).on('submit', function (event) {
event.preventDefault();
console.log('submitting');
hostingURL = '/<?echo $this->CI->uri->uri_string();?>';
$('form').attr('action', hostingURL);
var form = $(this);
$.ajax({
type: "POST",
url: hostingURL,
data: form.serialize()
}).done(function (data) {
$(document).unbind("submit");
$("#maincenter").html(data);
console.log('posted');
}).fail(function (data) {
alert('failed');
});
});
这是获取请求的URL,并将表单更改为所需的操作,然后将其发布到服务器,并返回数据。
服务器支持我:
echo print_r($_POST);
echo "<br> type: ".$_SERVER['REQUEST_METHOD']." <br>";
似乎我在表单中所做的任何事情都不会真正提交它。数据返回是正确的,但是从服务器端代码响应我得到:Array ( ) 1 type: GET
无论我在做什么。
所以我的问题是:我如何才能真正使表单提交帖子数据? jquery函数将在我的所有表单上使用,因此我需要将表单中的每个字段都提交给。
以下是一个示例表单。
示例表单:
<form method="POST">
<textarea class="textarea col-12" style="height:150px;" id="messageholder" name="profiltekst" placeholder="Profiltekst">
<? echo $userprofile->profiletext ?>
</textarea>
<div class="bottomform">
<input type="submit" class="makecenter" name="updateprofile" value="Endre profiltekst">
</div>
</form>