我的textarea使用ajax为我的PHP代码发送空值
我已经创建了一个textarea&我想用ajax将textarea的值发送到数据库,但是它将其发送到数据库时没有任何值,并且需要重新加载,我的问题在哪里? html代码:我的textarea使用ajax为我的PHP代码发送空值,php,jquery,html,ajax,pdo,Php,Jquery,Html,Ajax,Pdo,我已经创建了一个textarea&我想用ajax将textarea的值发送到数据库,但是它将其发送到数据库时没有任何值,并且需要重新加载,我的问题在哪里? html代码: <form> <textarea></textarea> <button type="submit">ارسال</button> </form> 这是我的pdo和mvc信息,我放在最后一层: $obj=new Get; $
<form>
<textarea></textarea>
<button type="submit">ارسال</button>
</form>
这是我的pdo和mvc信息,我放在最后一层:
$obj=new Get;
$obj->InsertText($_POST['text']);
放置行
var text=$('textarea').val()代码>按钮的内部单击事件,否则它将只接受dom就绪时的初始值
$(document).ready(function(e) {
$('button').click(function(e) {
var text = $('textarea').val();
$('.loading').css('display', 'block');
$.ajax({
url: 'insertText.php',
type: 'POST',
data: {
'text': text
},
beforeSend: function() {
$('.loading').html('فرستادن ...');
},
error: function(request) {
alert(request);
},
success: function(data) {
alert(data);
}
});
});
});
你有两个问题:
您在错误的时间从textarea获取值
您正在提交表单
您的代码行:
var text=$('textarea').val();
位于ready
处理程序内部,但位于单击处理程序外部。这意味着您在DOM准备就绪时获取值,而不是在单击按钮时获取值
将其移动到单击处理程序中
要停止表单提交,您需要告诉浏览器不要执行单击提交按钮的默认操作:
$('button').click(function(e){
e.preventDefault();
请注意,一般来说,最好对提交的表单做出反应,而不是单击特定的提交按钮:
$('form').submit(function(e){
e.preventDefault();
当JavaScript失败时(无论出于何种原因),表单仍然可以工作也是可取的:
及
$('form').submit(function(e){
e.preventDefault();
<form action="insertText.php" method="POST">
<textarea name="text">