2015-02-10 87 views
1

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

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标记。我的问题是,如何只读取名为的文本的输入字段的值,以便上面的echo $_POST['text']行只返回该值?

回答

2

只需在打印文本后退出。

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

谢谢,穆萨!完美的作品。你能帮我理解为什么这有效吗? – 2015-02-10 22:57:12

+1

退出语句之后你有什么不会被评估,无论是代码或HTML。你的脚本在那一刻停止执行。 http://php.net/manual/en/function.exit.php – Musa 2015-02-10 23:04:08