ajax没有收到文件的回复

时间:2014-03-21 18:11:12

标签: php jquery

我使用这个ajax代码将数据汇总到一个文件(参见下文)

$(".editpost").submit(function (e) {
    var postData = $(this).serializeArray();
    var formURL = $(this).attr("action");
    $.ajax({
        url: formURL,
        type: "POST",
        data: postData,
        success: function (data, textStatus, jqXHR) {
            if (($.trim(data) == "success")) {

            } else {

            }
        },
        error: function (jqXHR, textStatus, errorThrown) {

        }
    });

    e.preventDefault(); //STOP default action
});

并且提交的数据将通过switch语句处理(参见下文)

<?php 
if (isset($_POST['jkey'])){
    $jkey = $_POST['jkey'];
    switch ($jkey)
    {
    case "jsave":
        echo "save is working";
    break;
    case "jadd":
        echo "add working";
    break;
    default:
        echo "Shall not waste time, creature!";
    }
}
?>

我有这个与ajax数据提交功能绑定的表单

<form action="processor.php" method="post" class="editpost">
    <input type="hidden" name="jkey" value="jsave" />
    <input type="text" name="inputt" value="input sample" />
    <textarea name="textareaa">sample content</textarea>
    <button>submit</button>
</form>

你可以从上面的代码看到基础,首先是ajax函数,从表单上的所有字段获取所有值(.editpost)并将其存储在postData变量上,并获取所有数据将在的文件发送然后将其存储在名为formURL的变量上。在processor.php中,post请求jkey存储在变量jkey上,然后将值与switch语句中的case匹配,如果匹配,则在匹配情况下发回指定的内容,例如,因为post请求jkey是jsave然后在switch语句中从jsave case发回“save is working”,当ajax函数收到响应时,它会提醒从processor.php收到的数据但是它没有工作,INSTEAD我收到一个空的警报框或有时警报框包含页面的几个代码。

任何有想法,建议和建议的人都可以参与其中吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用表单的类名来提交事件。而是使用输入按钮onclick功能来处理点击事件。