我正在使用HTML,PHP和AJAX来创建搜索字段。 这是我的HTML代码:
<form action="search.php" id="search_form" method="post" >
<div class="search_bar">
<input type="text" name="search_text" id="search_text" placeholder="Search anything" >
</div>
<div class="search_button">
<button type="submit" id="search_button" name="search_submit" >Search</button>
</div>
</form>
这是我的AJAX代码:
$('#search_button').click(function(event) {
var search_data = $('#search_text').val();
var postData ={
"content":search_data};
event.preventDefault();
$.ajax({
type: 'POST',
url: 'search.php',
data:{myData: postData},
error: function()
{
alert("Request Failed");
},
success: function(response)
{
alert("Success");
}
});
});
在PHP中,我尝试了以下内容:
$obj = $_POST['myData'];
echo $obj;
print_r($_POST);
我得到的只是:
注意:第9行的C:\ xampp \ htdocs \ workspace \ MakeMyApp \ WebContent \ search.php中的未定义索引:myData
Array ( )
我也尝试过:
file_get_contents('php //input')
但我也得到了空数组。我不知道究竟是什么问题。我错过了什么吗?
答案 0 :(得分:1)
很抱歉,由于我没有足够的声誉,我无法发表评论。
我试图复制你的问题,似乎对我有用。
这是HTML页面......
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#search_button').click(function(event) {
var search_data = $('#search_text').val();
var postData ={
"content":search_data};
event.preventDefault();
$.ajax({
type: 'POST',
url: 'search-submit.php',
data:{myData: postData},
error: function()
{
alert("Request Failed");
},
success: function(response)
{
alert(response);
}
});
});
});
</script>
</head>
<body>
<form action="search.php" id="search_form" method="post" >
<div class="search_bar">
<input type="text" name="search_text" id="search_text" placeholder="Search anything" >
</div>
<div class="search_button">
<button type="submit" id="search_button" name="search_submit" >Search</button>
</div>
</form>
</body>
</html>
这是接收PHP页面
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>
在ajax请求中,您可以看到我使用alert在警报中输出响应但是,如果一切顺利,它应该输出接收PHP页面输出的内容。
此外,它可能没有多大帮助,但他是我将如何完成ajax请求;它的代码略少,您不必单独定义每个表单字段(如果您有多个字段)
$(document).ready(function(){
$('#search_form').submit(function() {
var formData = $(this).serialize();
$.ajax({
type: 'POST',
url: 'search-submit.php',
data: formData,
error: function()
{
alert("Request Failed");
},
success: function(response)
{
alert(response);
}
});
return false;
});
});