【发布时间】:2015-11-09 14:24:34
【问题描述】:
我正在使用 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')
但我也得到了空数组。我不知道到底是什么问题。我错过了什么吗?
【问题讨论】:
-
你看过浏览器控制台中的请求/响应吗?
-
如果您从等式中删除 AJAX,PHP 是否有效?
-
永远不要假设设置了
$_POSTsuper。在访问它之前检查以确保它存在。 -
你检查过你的请求头
Content-Type(application/x-www-form-urlencoded)吗? -
@Legionar 将数据更改为字符串与问题无关。传递对象是最常见的做法