我对使用AJAX POST的PHP响应有疑问。
我的PHP代码就是这个:
$vadb_dsn = 'odbc:DSN=VerticaDSNunixodbc;Database=DB';
$vadb_options = array(PDO::ATTR_AUTOCOMMIT=>FALSE, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION);
$vadb_user = 'dbadmin';
$vadb_pass = 'dbpwd';
$user=$_POST['user'];
$pwd=$_POST['pwd'];
# Connect to Database
try {
$vadb = new PDO( $vadb_dsn, $vadb_user, $vadb_pass, $vadb_options );
}
catch ( PDOException $e ) {
die( "Couldn't connect to DB" );
}
# Query to Database
$vsql = "SELECT user_name as 'user_name', password as 'password' from schema.table where user_name='".$user."' and password='".$pwd."';";
# Prepare Statement and Execute
$stmt = $vadb->prepare( $vsql );
$stmt->execute();
# Fetch Results
while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
$result = $row['user_name'].";".$row['password'];
}
# Close Connection
$vadb = null;
# Output the result
echo $result
当我以这种方式执行POST时:
var url = "example.php";
var user= $('#user').val();
var pwd= $('#pwd').val();
$.ajax({
type: "POST",
url: url,
data: $("#formpost").serialize(), // serializes the form's elements.
success: function(data)
{
alert(data); // show response from the php script.
}
});
我得到,作为PHP文件的响应,而不是查询结果,PHP文件的代码是ittelf。 换句话说,我的网页提示内容是php文件代码的提醒... 关于如何解决这个问题并获得适当反应的任何想法?
答案 0 :(得分:0)
尝试在PHP文件的顶部添加<?php
。在您粘贴的PHP中,您似乎错过了这个。
如果您正在获取PHP代码,那么您只需获取该文件的内容即可。看起来你错过了预处理器标签。
如果这不起作用,请尝试将网址更改为“/ example.php”而不是“example.php”
答案 1 :(得分:-1)
我解决了在服务器(Centos)上重新安装php的问题,所以在本例中,来自shell:
yum install php
就是这样。