ajax POST响应

时间:2012-08-06 07:26:57

标签: php jquery

我使用niceEdit作为html编辑器和后端的mysql。我将使用AJAX将数据发送到php。

继承我的HTML代码:

<div class='atabcontent'>
    <form id='apostform' method='POST'>
        <input name='request' type='hidden' value='atabaddnew' />
        <textarea id='aposttextarea' name='area1' style='width:780px; height: 400px; margin: 10px auto 0 auto;'cols='40'></textarea>
    <div style='height: 5px;'></div>
    <button id='apostsubmit'>Save</button>
    </form>
</div>

并且继承了ajax代码。

$("#apostform").submit( function () { 
    //add a loading bar first
    $('div.atabcontent').append("<img class='loading' src='media/loading.gif' />");
    //send data to processor.php
    $.post(
        'processor.php',
        $(this).serialize(),
        //here, where we're going to manage the respond from the processor.php
        function(data){
            //remove the loading bar
            $('.atabcontent img.loading').remove();
            //output the respond
            $('div.atabcontent').html(data).show();
        });
    return false;   
});

并且继承了php文件(processor.php)。

<? //this a processor e.g. post, delete, edit etc..
    //check if a post "request" is present..
    if (isset($_POST['request']))
    {
        //check if what type of request, if request type is equal to atabmenu then..
        if ($_POST['request'] === "atabmenu")
        {
            echo $_POST['data'];
        }
        elseif ($_POST['request'] === "atabaddnew")
        {
            echo htmlspecialchars($_POST['area1']);
        }
        //end
        //else if no request then go to fail.php along with the error code of "unable to     process the data"
    }
    else
    {
        header("location: fail.php?error=unable to process the data");
    }

?>

正如你在上面的代码中看到的,它应该可以正常工作,但是来自ajax响应处理程序获取的php文件的响应是空的,似乎没有已发送的数据或两者都没有收到我也试过这个

$("#apostform").submit( function () { 
    var data = $('#apostform textarea').val();

    alert (data);
    return false;   
});

但是警报框内容为空,正如您在代码中看到的那样,它应该使用“#apostform”的值警告一个框。我尝试了一个普通的表单,我的意思是没有ajax,它的工作正常,因为我可以看到数据已被接收,因为它显示从表单接收的数据。

希望有人可以帮助我指出这方面的问题。无论如何,我使用niceEdit文本框http://nicedit.com/

PS:我打开任何建议,推荐和想法。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的提交功能似乎有一些语法错误

$("#apostform").submit( function () { 
    var data = $('#apostform textarea').val(); // missing equals sign and closing apostrophe

    alert (data);
    return false;   
});