我尝试使用Ajax(我的第一次),我不知道我做错了什么。我有两个文件:home.html和ajax.php
在第一个(home.html)我有这个
<html>
<head>
<script type="text/javascript" src="jquery-2.1.3.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#Client_ID').live('change', function(event) {
$.ajax({
url : 'ajax.php',
type : 'POST',
dataType: 'json',
data : $('#myform').serialize(),
})
.done(function(data) {
for(var id in data) {
$(id).val( data[id] );
}
});
});
});
</script>
</head>
<body>
<form id='myform'>
<select name='Client_ID' id='Client_ID'>
<option value=''>Select</option>
<option value='1'>Client 1</option>
<option value='2'>Client 2</option>
</select>
<input type='text' name='address1' id='address1'>
</form>
</body>
</html>
和我的AJAX.php文件
<?php
define('WP_USE_THEMES', false);
require('../wp-blog-header.php');
global $wpdb;
$clientid = $_POST['Client_ID']; // Selected Client Id
$result = $wpdb->get_row( "SELECT * FROM wp_com_plantillas WHERE id=$clientid" );
$addr1 = $result->asunto;
$arr = array( 'input#address1' => $addr1);
echo json_encode( $arr );
?>
在数据库连接上,我使用wordpress global var $wpdb
。
要测试 ajax.php ,我将POST
更改为GET
并加载网址,例如ajax.php?client_id = 1并且结果没问题,但是当我测试它时home.html,当下拉列表更改时,输入不会填充。
非常感谢
答案 0 :(得分:0)
如果您使用的是Wordpress,请考虑使用look in this article that explains how to properly declare ajax on Wordpress
此外,如果您使用Chrome,请使用您的开发者工具。按F12
,您可以看到名为“网络”的标签。您的页面所做的每个请求都会记录在那里。如果您只想过滤AJAX请求,请单击过滤器按钮,然后选择XHR
。每行都是一个请求,每个请求在被点击时都可以提供有关响应的信息。检查响应是否正常,如果响应代码实际为200。