Javascript 失败的ajax函数以及关于如何调试jquery/ajax调用的一些建议
我正在为crm做一个项目(只是为了学习),我在使用ajax功能时遇到了问题Javascript 失败的ajax函数以及关于如何调试jquery/ajax调用的一些建议,javascript,php,ajax,Javascript,Php,Ajax,我正在为crm做一个项目(只是为了学习),我在使用ajax功能时遇到了问题 <div class="dropdown"> <label>Name</label> <select class="named" name ="named" id="named" onchange="userData('<?php echo $client['client_name']; ?>')"> <?php
<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"/>
这是一个mysql生成的下拉列表,在更改时,它应该用这个客户端位置填充位置输入,但它不起作用。Apache没有返回错误,但我有点不知道,特别是在调试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);
}
});
}
如果您的AJAX输出为JSON格式,您可以使用
$.parseJSON(result)
将JSON数据解码到数组。AJAX调用的主要错误是,它们没有发送预期的请求或没有收到预期的结果。这两种情况至少可以通过以下方式在几乎所有体面的浏览器中看到:
- 按F12键
- 转到“网络”选项卡,然后
- 检查从此点开始发出的请求(有时需要重新加载页面)李>
另外:几乎每一款像样的浏览器都有一个javascript调试器,您可以在其中设置断点并逐步执行代码,同时查看所有感兴趣的变量。您可以在此处添加ajax代码和错误吗?在Chrome中打开开发者控制台(F12)或在Firefox中打开(Ctrl+Shift+I),然后转到“网络”选项卡查看请求和响应。首先尝试
数据:{action\u type:clientdata,name:name},
,基本上这可能会有帮助。由于dataType
设置为json
,它将被自动解析。
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);
}
});
}