GET请求不返回成功数据

时间:2011-06-22 18:13:35

标签: php jquery ajax

好的,这个问题开始变得烦人!

我有这个jquery ajax请求代码:

$.ajax({
    type: "GET", 
    url: "/nameCheck.php", 
    data: {addressName: ""+addressName+"", customer: customer}, 
    success: TEST,
    error: reportProblem
});

nameCheck.php看起来像这样:

include_once("db_connect.php3");
$addressName = $_GET["addressName"];
$customer = $_GET["customer"];
$search = mysql_query("select count(*) from Address where AddressName=".quote_correct($addressName)." and CustomerNumber=$customer",$database); 
$rows=mysql_fetch_array($search);
$number_of_rows = $rows[0];
// note quote_correct is just a function to clean up the users input
if ($number_of_rows>1)
    {
        $message ="NO"; 
    }
else
    {
        $message ="OK";
    } 
echo $message;
?>

成功时,TEST功能如下所示

function TEST(data,status){
    alert(data+" - "+ status);  
}

通过我在php代码中设置的日志文件 - 我看到检查客户名称是否存在的过程是否有效,我得到了正确或否定的响应。

ajax调用也是成功的 - 并且调用了TEST函数 - 但是没有数据存在..

有谁知道为什么这不起作用?

3 个答案:

答案 0 :(得分:1)

尝试将ajax调用看起来像这样:

$.ajax({
    type: "GET",
    url: "/nameCheck.php",
    data: { addressName: "" + addressName + "", customer: customer },
    success: function (data) {
        alert(data);
    },
    error: function(xhr, status, error) {
    }
});

答案 1 :(得分:0)

我通常也会在我的get / post调用中声明返回类型。 (json,html ...)并且返回的php函数知道要返回什么内容吗?

答案 2 :(得分:0)

您需要在PHP中设置content-type标头。默认响应是txt / html,jQuery需要JSON。

header('Content-type: application/json');