【发布时间】:2016-08-23 08:18:54
【问题描述】:
我正在开发一个 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 没有返回错误,但我有点菜鸟,尤其是在调试 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代码和错误吗?
-
在 Chrome 中打开开发者控制台 (F12) 或在 Firefox 中打开 (Ctrl+Shift+I),然后转到 Network 选项卡查看请求和响应
-
第一次尝试
data: {action_type: clientdata, name: name}, -
This solution 和 this post 可能会有所帮助
-
基本上是一团糟男人。
标签: javascript php ajax