Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的textarea使用ajax为我的PHP代码发送空值_Php_Jquery_Html_Ajax_Pdo - Fatal编程技术网

我的textarea使用ajax为我的PHP代码发送空值

我的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; $

我已经创建了一个textarea&我想用ajax将textarea的值发送到数据库,但是它将其发送到数据库时没有任何值,并且需要重新加载,我的问题在哪里? html代码:

<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">