我正在研究一个crm的项目(只是为了学习),我在使用ajax函数时遇到了麻烦。
<div class="dropdown">
<label>Name</label>
<select class="named" name ="named" id="named" onchange="userData('<?php echo $client['client_name']; ?>')">
<?php
$clients=mysqli_query($db->db,"SELECT client_name FROM clients");
foreach($clients as $client): ?>
<option value="<?= $client['client_name'];?>"><?= $client['client_name']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label>Location</label>
<input type="text" class="form-control" name="locationd" id="locationd"/>
和ajax函数
function userData(name){
alert('debug');
$.ajax({
type: 'POST',
dataType:'JSON',
url: 'adminAction.php',
data: 'action_type=clientdata&name='+name,
success:function(data){
alert('debug');
$('#locationd').val(data.client_location);
}
});
}
它是一个mysql生成的下拉列表并且在更改时它应该用这个客户端位置填充位置输入但是它不起作用.Apache没有返回错误但是我有点noob尤其是当调试ajax调用时(**我怎么可以看看它发送和接收的数据是什么?:D)。谢谢你的帮助! 我也发布了adminaction.php代码
if($_POST['action_type'] == 'clientdata'){
$tblName = 'clients';
$conditions['where'] = array('client_name' =>$_POST['named']);
$conditions['return_type'] = 'single';
$client = $db->getRows($tblName,$conditions);
echo json_encode($client);
$tblName = 'clients_contact';
对于任何感兴趣的人我都像那样修理了
function userData(){
userData = $("#named").serialize()+'&action_type=clientdata';
$.ajax({
type: 'POST',
dataType:'JSON',
url: 'adminAction.php',
data: userData,
success:function(data){
$('#locationd').val(data.client_location);
}
});
}
答案 0 :(得分:1)
ajax通话的主要错误通常是,他们没有发送预期的请求或者没有收到预期的结果。这些都至少可以在几乎所有体面的浏览器中看到:
另外:几乎每个体面的浏览器都有一个javascript调试器,你可以设置断点并逐步执行代码,同时观察所有感兴趣的变量。
答案 1 :(得分:0)
如果您的AJAX输出采用JSON格式,则可以使用$.parseJSON(result)
将JSON数据解码为数组。