好的,这个问题开始变得烦人!
我有这个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函数 - 但是没有数据存在..
有谁知道为什么这不起作用?
答案 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');