2015-02-10 88 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