我有以下代码从MySQL检索数据。以下测试表明ajax部分有问题,因为不会执行'ttt'警报。我想念什么?
function autoFill() {
var claimantIDs = document.getElementById('claimant_search').value;
alert(claimantIDs);
$.ajax({
type: "POST",
url: "get_claim.php",
data: {ID, claimantIDs},
dataType: "json",
success: function(data){
alert("ttt");
}
});
alert("END");
}
相关的php是:
<?php
require_once('../dbconnect.php');
$ID = $_POST['ID'];
$result = mysql_query("select * from 1tbl_CLAIMANT_DETAIL where ID = '".$ID."' ") or die(mysql_error());
$row = mysql_fetch_array($result);
$data = json_encode($row);
echo $data;
?>
答案 0 :(得分:1)
在您的AJAX部分中,查看通过POST方法传递值的方式
$.ajax({
type: "POST",
url: "get_claim.php",
data: {ID, claimantIDs},// <-- problem
dataType: "json",
success: function(data){
alert("ttt");
}
});
AJAX中的data字段需要一个JSON对象,该对象应该是键值对,但是您直接传递该值,并且我认为由于这个原因,您的PHP代码无法获取值,这就是代码无法正常运行的原因。您还应该在AJAX调用中包含错误方法。
答案 1 :(得分:0)
嗨,
我认为以您的Ajax代码方式进行数据传递是错误的。
请尝试
数据:{ID:ClaimantIDs},
在您的Ajax代码段中。
答案 2 :(得分:0)
尝试通过在文件顶部打印$ _REQUEST变量来调试get_claim.php文件
<?php
echo '<pre>';
print_r($_REQUEST);
echo '</pre>';
die();
?>
如果您能够看到ajax传递的数据,则您的ajax可以正常工作。此外,请检查网络,以确保URL是否正确命中。
答案 3 :(得分:0)
问题在这里。
{ID, claimantIDs},
将其更改为{'ID' : claimantIDs},
此外,将mysql to mysqli
更改为mysql
是不推荐使用的版本。您将无法在最新的PHP版本中使用它。