我需要将一些值传递给PHP文件,并从中返回一些值到原始脚本。我写了这段代码。
$(document).ready(function() {
var value = $('#myId').val();
$('.myClass').click(function() {
var request = $.ajax({
type: 'POST',
url: 'getinfo.php',
data: {fileIs: value},
success: function(data) {
alert(data);
},
error: function() {
alert("Error");
}
});
});
});
getinfo.php就像:
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("my_db") or die(mysql_error());
if(isset($_REQUEST['fileIs'])) {
$file = mysql_real_escape_string(htmlentities($_POST['fileIs']));
$value = mysql_query("SELECT * FROM files WHERE filename = '".$file."' ");
while($row = mysql_fetch_array($value)) {
echo $row['fileTitle'];
}
}
当我执行脚本时,php AJAX函数始终返回带有写入“Error”的警报,该警告会自动消失。我该如何解决这个问题?我的目标是将“value”变量内容发送到PHP文件并从中获取响应,使数据库中的内容对应于“value”内容。
答案 0 :(得分:0)
ajax函数无法判断返回的数据类型,因为您没有在php代码中设置http响应的标头。在while循环之前添加以下内容应该有所帮助:
header("Content-type: text/plain; charset=utf-8");
答案 1 :(得分:0)
在 getinfo.php
中尝试json_encodemysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("my_db") or die(mysql_error());
if(isset($_REQUEST['fileIs'])) {
$file = mysql_real_escape_string(htmlentities($_POST['fileIs']));
$value = mysql_query("SELECT * FROM files WHERE filename = '".$file."' ");
while($row = mysql_fetch_array($value)) {
$result = $row['fileTitle'];
}
}
echo json_encode($result); or //use one
return $result; //optional