使用JavaScript的FormData对象提交的数据返回整个html

时间:2015-02-10 22:05:50

标签: javascript php jquery ajax form-data

我使用JavaScript的FormData对象从表单提交数据。基本上,我有以下代码:

HTML

<form action='test.php' id='test' method='post'>
    <input type='text' name = 'text' />
    <input type='submit' />
</form>

我使用AJAX提交此表单。这是代码:

的javascript

var form = document.getElementById('test');
form.addEventListener('submit',function(e) {
    e.preventDefault();
    var xhr = new XMLHttpRequest,
    fd = new FormData(form);
    xhr.open('post','test.php',true);
    xhr.onload = function(oEvent) {
        if (xhr.status == 200) {
              alert(xhr.responseText);
            } else {
              alert("Error " + xhr.status);
            }
    };
    xhr.send(fd);
});

这是接收请求的 test.php 文件: 的 PHP

if(isset($_POST['text'])) {
    echo $_POST['text'];
} else {
    echo "Nothing Received";
}

PHP脚本接收已发布的表单。问题是,PHP脚本发送的响应文本是我页面的整个原始html标记。我的问题是如何只读取名为 text 的输入字段的值,以便上面的echo $_POST['text']行只返回该值?

1 个答案:

答案 0 :(得分:2)

打印文本后立即退出。

...
echo $_POST['text'];
exit;
...