PHP使用AJAX POST错误响应

时间:2016-05-10 13:25:10

标签: javascript php jquery ajax

我对使用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文件代码的提醒... 关于如何解决这个问题并获得适当反应的任何想法?

2 个答案:

答案 0 :(得分:0)

尝试在PHP文件的顶部添加<?php。在您粘贴的PHP中,您似乎错过了这个。

如果您正在获取PHP代码,那么您只需获取该文件的内容即可。看起来你错过了预处理器标签。

如果这不起作用,请尝试将网址更改为“/ example.php”而不是“example.php”

答案 1 :(得分:-1)

我解决了在服务器(Centos)上重新安装php的问题,所以在本例中,来自shell:

yum install php 

就是这样。