我试图通过AJAX作为请求发布HTML文件的值,并从PHP获取JSON格式的字符串作为响应。
我做了以下
Javascript文件:
$(document).ready(pageLoad);
function pageLoad()
{
$("#submit").click(submitClick)
}
function submitClick()
{
var data = {Year:"2005"};
$.getJSON("db/connect.php", data, fetchData);
}
function fetchData(data)
{
$.each(data, function(index, element) {
$("#content").append(data[index].Name + "<br />");
})
}
PHP文件
<?php
$server = "localhost";
$user = "amey";
$pass = "";
$database = "education";
echo $_POST["Year"];
$conn = mysql_connect($server, $user, $pass) or die("Unable to connect to MySQL");
mysql_select_db($database, $conn);
$query = "select * from BabyNames";
$result = mysql_query($query) or die(error_get_last());
$json = array();
while($row = mysql_fetch_array($result))
{
$json[] = $row;
}
echo json_encode($json);
mysql_close($conn);
?>
我无法在PHP文件中检索Year值。我也尝试过使用$ .post和$ .ajax函数。在$ .ajax函数中,当我删除dataType:“json”时,post方法可以工作。
答案 0 :(得分:0)
请更改代码, 如果你的PHP代码工作正常。
$(document).ready(function() {
var pageLoad = function() {
$("#submit").click(function(){
submitClick();
})
});
pageLoad();
});
如果您想要点击“#submit”提交表单/数据,则无需pageLoad功能
$(document).ready(function() {
$("#submit").click(function(){
submitClick();
});
});
});
答案 1 :(得分:0)
$。getJSON()方法执行HTTP GET而不执行POST。你需要使用$ .post()。
$.post(url, dataToBeSent, function(data, textStatus) {
//data contains the JSON object
//textStatus contains the status: success, error, etc
}, "json");